输入错误,无法读取未定义的属性“匹配”

时间:2017-07-10 00:09:24

标签: javascript

我卡在下面的Javascript代码中,我不知道是什么问题。 代码总是显示“类型错误,无法读取未定义的属性'匹配'”, 这是代码:

do

2 个答案:

答案 0 :(得分:1)

JS数组的索引从零开始。 你应该将你的句子改为

for ( i = 0; i < arr.length; i += 1) {

此外,另一句话也是错误的:

newstring=arr1.join;

应该是

newstring=arr1.join('');

或简单地生成不带arr1的结果字符串,如:

newstring='';
...
newstring+=arr[i];

答案 1 :(得分:0)

Javascript中的数组是基数0,意味着第一项是索引0。想象一下,数组中有三个项目,length属性会说3,三个项目将占据索引012

for循环中,从索引1i=1;)开始,这意味着循环将跳过第一项(在索引0处),然后迭代而i低于或等于到数组的长度。数组的长度为3,但由于基数为0,数组中的最后一项是索引2。因此,在for循环的最后一次迭代中,您尝试访问数组的索引3,即undefined

因此,您需要做的是将for循环表达式更改为如下所示:

(i = 0; i < arr.length; i++)

这样您就可以正确地迭代012而不是123