我是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}]
答案 0 :(得分:2)
使用Array.map()
迭代数组,并生成包含属性d
的新对象。对于数组中的每个对象,将destructuring与rest一起使用,将a
的值分配给一个属性,并将其余的属性分配给一个对象(在这种情况下,命名为rest
)。
使用a
和rest
(由spreading创建一个新对象),并添加d
属性,该属性是所有{{1}的总和}属性。
为递归总结对象属性,我添加了rest
方法。该函数使用Object.values()
获取值数组。然后使用Array.reduce()
迭代它们的总和。除非值是对象,否则在这种情况下,我们将再次通过sumProps
运行它。
sumProps