javascript--遍历json并在末尾添加累加数

时间:2018-09-29 19:26:08

标签: javascript arrays

我是javascript的新手,我想遍历json数据并在其末尾添加累积数。 这是一个示例数据集:

[{'a':123,'b':345,'c':{'b1':1,'b2':2,'b3':3}},  
 {'a':234,'b':456,'c':{'b1':2,'b2':4,'b3':6}},  
 {'a':345,'b':567,'c':{'b1':3,'b2':6,'b3':9}}]  

这就是我想要实现的:

[{'a':123,'b':345,'c':{'b1':1,'b2':2,'b3':3},'d':345+1+2+3},  
 {'a':234,'b':456,'c':{'b1':2,'b2':4,'b3':6},'d':456+2+4+6},  
 {'a':345,'b':567,'c':{'b1':3,'b2':6,'b3':9},'d':567+3+6+9}]  

1 个答案:

答案 0 :(得分:2)

使用Array.map()迭代数组,并生成包含属性d的新对象。对于数组中的每个对象,将destructuringrest一起使用,将a的值分配给一个属性,并将其余的属性分配给一个对象(在这种情况下,命名为rest )。

使用arest(由spreading创建一个新对象),并添加d属性,该属性是所有{{1}的总和}属性。

为递归总结对象属性,我添加了rest方法。该函数使用Object.values()获取值数组。然后使用Array.reduce()迭代它们的总和。除非值是对象,否则在这种情况下,我们将再次通过sumProps运行它。

sumProps