Javascript 迭代对象数组中的第n个索引

Javascript 迭代对象数组中的第n个索引,javascript,Javascript,我试图从下面的对象返回前4个网格值的总和(预期输出5) 使用.map相对较新,我通常会使用forwhile迭代器,但我想知道是否有人可以建议一种更具es6风格的模式来解决这个问题。使用切片从数组中获取前4个对象,然后使用reduce对网格求和 const输入=[{ “id”:1, “网格”:1 }, { “id”:2, “网格”:2 }, { “id”:3, “网格”:1 }, { “id”:4, “网格”:1 }, { “id”:5, “网格”:1 } ]; console.log(inpu

我试图从下面的对象返回前4个网格值的总和(预期输出5


使用.map相对较新,我通常会使用forwhile迭代器,但我想知道是否有人可以建议一种更具es6风格的模式来解决这个问题。

使用
切片
从数组中获取前4个对象,然后使用reduce对
网格
求和

const输入=[{
“id”:1,
“网格”:1
},
{
“id”:2,
“网格”:2
},
{
“id”:3,
“网格”:1
},
{
“id”:4,
“网格”:1
},
{
“id”:5,
“网格”:1
}
];
console.log(input.slice(0,4).reduce((a{
网格
})=>a+grid,0)您可以使用将数组缩减为所需的元素,然后进行汇总;使用获取
网格

const数据=[
{“id”:1,“grid”:1},
{“id”:2,“grid”:2},
{“id”:3,“grid”:1},
{“id”:4,“grid”:1},
{“id”:5,“grid”:1}
];
const result=data.slice(0,4).reduce((a,{grid},i)=>{
返回一个+=数字(网格);
}, 0);

console.log(result)
您可以组合.slice和.reduce
data.slice(0,4).reduce((acc,currV)=>acc+currV.grid,0)
如果要求和,可能是比
map更好的选择
[
  {
    "id": 1,
    "grid": 1
  },
  {
    "id": 2,
    "grid": 2
  },
  {
    "id": 3,
    "grid": 1
  },
  {
    "id": 4,
    "grid": 1
  },
  {
    "id": 5,
    "grid": 1
  }
]



data.map(item => {
   console.log(item.grid);
});