我看到还有其他类似名称的问题,我仔细查看了它们,但它们并没有像我一样具有同样的问题。
由于某种原因,indexOf()在我的for循环中被调用不是函数。在循环之外尝试测试,它很好,所以不确定问题。
{{1}}
答案 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]);