javascript - 无法将 for 循环更改为 forEach

标签 javascript foreach

我正在尝试改变这个:

const removeElements = (arr, callback) => {
  for(var i = 0; i < arr.length; i++){
    callback(arr[i], arr);
  }
  return arr;
};

像这样的 forEach:

const removeWithForEach = (arr, callback) => {
  arr.forEach(callback(arr.value, arr));
};

但是它不起作用。你们愿意帮忙吗?

最佳答案

您当前正在调用 forEach 之前立即调用callback。将函数引用传递给forEach:

const removeWithForEach = (arr, callback) => {
  arr.forEach((value) => {
    callback(value, arr);
  });
  return arr;
};

(尽管使用Array.prototype.forEach而不是removeWithForEach更有意义)

关于javascript - 无法将 for 循环更改为 forEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58481986/

相关文章:

javascript - 将 JSON 属性的值分配给元素的 innerHTML

Javascript - 我可以拦截对 document.location.href 的调用吗?

javascript - 暂停 JavaScript slider

.net - LinkedList 中的 Foreach Item 是否按顺序给出项目?

c# - 选择每个以大写字母开头的单词

javascript - 在 koa.js 中访问请求的原始主体

node.js - 在node.js中使用forEach函数时出现问题

javascript - JQuery:将新单元格附加到表格并循环遍历它们在 FF、Chrome 中有效,但在 IE 中无效

java - 如何在文件路径中使用变量?

javascript - Material-UI NativeSelect 预选选项不起作用