我在字符串上调用.string方法,并将其设置为等于另一个变量。它返回带有[match value, index, and input]
的数组。
当我尝试引用数组中的第二个元素时,它作为未定义返回。有人可以告诉我为什么吗?这是我的代码:
var str = "hello world"
var matchArray = str.match("ell");
=>matchArray = ["ell",index:1,input:"hello world"]
var index = matchArray[1];
console.log(index);
=>undefined
提前致谢。
最佳答案
var str = "hello world"
var matchArray = str.match("ell");
matchArray
是Array
,但是在javascript中,我们知道可以在数组中设置属性,也可以是对象。在上述情况下,
matchArray
在数组中仅包含数学。但是其他属性(例如index
和input
)在对象中。如果您执行
console.dir(matchArray)
,您还将获得属性。因此要访问这些属性,请使用对象符号,例如
matchArray.index
或matchArray.input