类型错误indexOf()不是for循环中的函数

时间:2016-09-19 14:21:12

标签: javascript

我看到还有其他类似名称的问题,我仔细查看了它们,但它们并没有像我一样具有同样的问题。

由于某种原因,indexOf()在我的for循环中被调用不是函数。在循环之外尝试测试,它很好,所以不确定问题。

{{1}}

3 个答案:

答案 0 :(得分:2)

Array.push()修改数组并且不返回它(但是它的新长度),所以不是

newArray = newArray.push(arguments[i][j]);

只需使用

newArray.push(arguments[i][j]);

答案 1 :(得分:2)

newArray.push返回被推送的数组的长度,而不是数组本身。

删除newArray = newArray.push(arguments[i][j]);并将其设为newArray.push(arguments[i][j]);,您的错误就会消失。

答案 2 :(得分:0)

Array.prototype.push 返回调用该方法的对象的新长度属性。请参阅MDN

在第一次循环迭代后,newArray是一个数字,而不是一个数组。

所以,修复代码:

 newArray.push(arguments[i][j]);