Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有条件地遍历数组_Javascript_Arrays_For Loop_Underscore.js - Fatal编程技术网

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