【问题标题】:Javascript, I need to convert a for loop to .reduce for an array of objects [duplicate]Javascript,我需要将 for 循环转换为对象数组的 .reduce [重复]
【发布时间】:2020-11-19 22:45:56
【问题描述】:

我正在学习 reduce 方法,我试图在这个对象数组上使用它,但我似乎无法在这里弄清楚。目标是将所有年龄元素添加在一起,我可以使用 for 循环来完成,但我似乎无法弄清楚如何使用 reduce() 方法来实现。

let array1 = [
  {
   "name": 'Neo',
   "age":'28',
   "fav Food": "Sea Food"
  },
  {
   "name": 'Charlie',
   "age":'20',
   "fav Food": "Sushi"
  },
  {
   "name": 'Benjamin',
   "age":'21',
   "fav Food": "Asian"
  },
  {
   "name": 'Martha',
   "age":'47',
   "fav Food": "Italian"
  }
]

我想把这个 for 循环变成一个 reduce 方法。

let sum=0;
for (let i = 0; i<array1.length;i++){
  sum += parseInt(array1[i].age);
}

到目前为止,我有这个,但它不工作,任何帮助将不胜感激。

const sum2 = array1.reduce( (accumulation, item) => {
return accumulation += (item = parseInt(array1[0].age));
},0 );

【问题讨论】:

  • return accumulation += parseInt(item.age)
  • 谢谢你!我现在可以睡觉了 :) 如果有人正在寻找最终的代码解决方案: const sum2 = array1.reduce( (accumulation, item) => { return accuracy += parseInt(item.age); },0 );

标签: javascript arrays methods javascript-objects reduce


【解决方案1】:

您需要访问ageitem

let array = [{ name: 'Neo', age: '28', 'fav Food': 'Sea Food' }, { name: 'Charlie', age: '20', 'fav Food': 'Sushi' }, { name: 'Benjamin', age: '21', 'fav Food': 'Asian' }, { name: 'Martha', age: '47', 'fav Food': 'Italian' }],
    sum = array.reduce((sum, item) => sum += +item.age, 0);

console.log(sum);

【讨论】:

    【解决方案2】:

    item 已经是当前项目,所以你不应该分配给它。

    accumulation += (item = parseInt(array1[0].age))
    

    变成

    accumulation + parseInt(item.age)
    

    【讨论】:

      【解决方案3】:

       let array1 = [ { "name": 'Neo', "age":'28', "fav Food": "Sea Food" }, { "name": 'Charlie', "age":'20', "fav Food": "Sushi" }, { "name": 'Benjamin', "age":'21', "fav Food": "Asian" }, { "name": 'Martha', "age":'47', "fav Food": "Italian" } ]  
        res=array1.reduce((acc,curr) => acc += Number(curr.age) , 0)
        console.log(res)

      【讨论】:

        猜你喜欢
        • 2021-09-07
        • 1970-01-01
        • 1970-01-01
        • 2021-01-04
        • 2021-06-07
        • 1970-01-01
        • 1970-01-01
        • 2020-02-06
        • 2018-03-18
        相关资源
        最近更新 更多