Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 如何从数组上的forEach方法获得结果?_Javascript_Arrays - Fatal编程技术网

Javascript 如何从数组上的forEach方法获得结果?

Javascript 如何从数组上的forEach方法获得结果?,javascript,arrays,Javascript,Arrays,我有一个项目,显示用户提交的数据表“条目” 我已将项目设置为从entries数组中提取entry对象,并使用适当的数据构造表 表中的一个单元格是复选框。每个条目的复选框都有一个对应于条目ID号的值 我正在尝试向该表添加编辑、删除功能 我有一个函数,它检查所有复选框并从所选条目返回一个值数组。此数组已被选中 我正在尝试执行checkedEntries,对于该数组的每个索引,我希望它在主条目数组中搜索具有匹配ID的对象。然后我希望它将这些对象拉出,并将它们存储在新数组PullerDentries中

我有一个项目,显示用户提交的数据表“条目”

我已将项目设置为从entries数组中提取entry对象,并使用适当的数据构造表

表中的一个单元格是复选框。每个条目的复选框都有一个对应于条目ID号的值

我正在尝试向该表添加编辑、删除功能

我有一个函数,它检查所有复选框并从所选条目返回一个值数组。此数组已被选中

我正在尝试执行checkedEntries,对于该数组的每个索引,我希望它在主条目数组中搜索具有匹配ID的对象。然后我希望它将这些对象拉出,并将它们存储在新数组PullerDentries中

我相信我在正确的轨道上,但我不确定如何访问forEach方法的结果。我不希望使用JQuery

这是我的代码:Javascript

function pullEntries(arr) {
  arr.forEach(entry => entries.find(item => {
    if (entry === item.id)
      return true;
    // push entry object into pulledEntries
    pulledEntries.push(idk?); // what would I use to reference it here? 
  }))
}

正如@ChechoCZ所说,使用
.map
而不是
.forEach
将以数组的形式返回结果。然而,我相信这是ES6语法

ES6方式:

功能牵引装置(arr){
返回arr.map(条目=>entries.find(条目=>{
if(条目===item.id)
返回true;
返回false;
}))
}
//返回类似[真、真、假、真、假、假、假]的结果
ES5方式:

功能牵引装置(arr){
设newArr=[];
arr.forEach(函数(条目){
返回条目。查找(函数(项){
if(条目===item.id)
newArr.push(真);
其他的
newArr.push(假);
});
});
返回newArr;
}
//返回类似[真、真、假、真、假、假、假]的结果

其他答案之一的简化:

function pullEntries(arr) {
  return arr.map(entry => entries.find(item => entry === item.id));
}

您应该使用map而不是forEach。forEach不返回任何东西,但map返回。这就是他们之间的区别。这里有一个很有用的链接,指向MapES5不支持箭头功能(在forEach)。感谢您的建议!我完全没想到!(箭头函数不是必需的,在这个map用法中没有添加任何值[除了略短的语法]。)Wdym箭头函数不是必需的吗?映射不期望回调作为参数吗?当然,它期望回调。“普通”匿名函数可以正常工作。除了语法之外,箭头和“普通”匿名函数之间的唯一区别在于
this
的绑定(或缺少)。请编辑您的答案,解释它如何回答问题。