Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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 返回的元素不';t工作-JS_Javascript_Arrays - Fatal编程技术网

Javascript 返回的元素不';t工作-JS

Javascript 返回的元素不';t工作-JS,javascript,arrays,Javascript,Arrays,我正在创建一个每个函数来处理不同类型的回调,例如 iterateCollection-w/c只返回/打印数组或对象项 返回偶数元素-w/c返回数组的偶数元素 returnKeyDivisibleBy3-w/c返回可被3整除的数组元素 returnKeyWithArrayValue-w/c返回 具有数组值的对象 我的意思是: var myArray=[1,2,3,4,5]; 变量myObject={ num1:1, num2:2, num3:[1,2,3] }; 每个函数(集合、回调){ i

我正在创建一个
每个
函数来处理不同类型的回调,例如

  • iterateCollection-w/c只返回/打印数组或对象项

  • 返回偶数元素-w/c返回数组的偶数元素

  • returnKeyDivisibleBy3-w/c返回可被3整除的数组元素

  • returnKeyWithArrayValue-w/c返回 具有数组值的对象

我的意思是:

var myArray=[1,2,3,4,5];
变量myObject={
num1:1,
num2:2,
num3:[1,2,3]
};
每个函数(集合、回调){
if(数组的集合实例){
for(var i=0,l=collection.length;i控制台日志(output4)问题在于您没有将回调设置为任何要返回的值。将回调设置为数组,然后从
每个
函数中返回该值

我精简了代码,并给出了一个
returnEvenElements
的示例。希望这有帮助

我能够通过代码获得
[2,4,6]

var myArray=[1,2,3,4,5, 6];

function each(collection, callback){
  const returnArray = [];  // <- create array to capture values
  if(collection instanceof Array) {
    for(var i=0, l=collection.length; i<l; i++){
      if (callback(collection[i])){ // <- check if condition is true
        returnArray.push(collection[i]); // <- set values in array
      } 
    };
  }
  return returnArray; <- return the value
}

function returnEvenElements(collection){
  return (typeof collection === 'number') && !(collection % 2);
}

var output1 = each(myArray, returnEvenElements);
console.log(output1);

您需要在each functionreturn callback(collection[i])中返回回调输出;已尝试此操作,但我的函数仍然不会返回任何内容。@JamesHedegon如果您编写
返回回调(集合[i])然后它确实返回了一些东西,请参见此。它可能不会返回你想要的东西,但它会返回一些东西。是的,但是为什么给定每个函数的returnEvenElements(collection)等参数,它不会返回任何东西呢?你能检查一下这些功能吗?在调试这些功能方面你做了哪些尝试?您是否放置了断点或console.log?仅仅要求人们“检查我的函数”并不能很好地运行。你能给我一个对象的例子吗?returnKeyWithArrayValue的例子
const evens = myArray.filter(value => (value % 2 === 0));