Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 操纵对象、添加和分组关键点_Javascript_Arrays_Object - Fatal编程技术网

Javascript 操纵对象、添加和分组关键点

Javascript 操纵对象、添加和分组关键点,javascript,arrays,object,Javascript,Arrays,Object,如何按月分组并添加值​​根据这个物体的位置 original = {"data":[["Dic",0,0,165,0],["Ene",0,0,200,0],["Ene",150,0,0,0],["Ene",150,20,10,500]]} what i need = {"data":[["Dic",0,0,165,0],["Ene",300,20,210,500]]} 创建一个临时对象,使用第一个数组元素值作为键对项目进行分组。然后在每次迭代中映射新值 const original={“d

如何按月分组并添加值​​根据这个物体的位置

original = {"data":[["Dic",0,0,165,0],["Ene",0,0,200,0],["Ene",150,0,0,0],["Ene",150,20,10,500]]}

what i need = {"data":[["Dic",0,0,165,0],["Ene",300,20,210,500]]}

创建一个临时对象,使用第一个数组元素值作为键对项目进行分组。然后在每次迭代中映射新值

const original={“data”:[[“Dic”,0,0165,0],“Ene”,0,0200,0],“Ene”,150,0,0,0],“Ene”,150,20,10500]]
const tmp=原始.data.reduce((a,c)=>{
a[c[0]=(a[c[0]]|[c[0,0,0,0]).map((el,i)=>i?el+c[i]:el);
返回a;
}, {});
original.data=Object.keys(tmp.map)(key=>tmp[key]);

console.log(JSON.stringify(original))
这似乎很简单,您尝试过什么?假设你没有大量的数据(也就是说,你不需要太多的优化),制作一个跟踪结果的字典,以及一个遍历列表并用遇到的值更新字典的循环。可能重复