Javascript 有条件地遍历数组
我写的代码应该模仿下划线的Javascript 有条件地遍历数组,javascript,arrays,for-loop,underscore.js,Javascript,Arrays,For Loop,Underscore.js,我写的代码应该模仿下划线的\方法的功能。然而,用我现在的代码 var testArr = ['a','b','c']; var eachFunc = function(collection, iterator) { if (Array.isArray(collection)) { for (var i = 0; i < collection.legnth; i++ ) { iterator(collection[i]); } } else {
\方法的功能。然而,用我现在的代码
var testArr = ['a','b','c'];
var eachFunc = function(collection, iterator) {
if (Array.isArray(collection)) {
for (var i = 0; i < collection.legnth; i++ ) {
iterator(collection[i]);
}
}
else {
for ( var property in collection ) {
iterator(collection[property]);
}
}
};
console.log(eachFunc(testArr, console.log));
var testArr=['a','b','c'];
var eachFunc=函数(集合、迭代器){
if(数组.isArray(集合)){
对于(var i=0;i
我只返回未定义的
。我希望在控制台上记录'a','b',然后是'c'。我已验证Array.isArray(testArr)
正在返回true
,并且if
块已输入。这是我没有正确进入的for
循环
有人能告诉我这个for
循环有什么问题吗?1)输入错误:legnth
2) 您不能直接传递console.log
——它会导致非法调用
错误。传递console.log.bind(console)
或匿名函数
3) 未定义的是函数的返回值。1)键入:legnth
2) 您不能直接传递console.log
——它会导致非法调用
错误。传递console.log.bind(console)
或匿名函数
3) 未定义的undefined
是函数的返回值。您的for..loop
有一个输入错误:collection.legnth
您的for..loop
有一个输入错误:collection.legnth