如何找到该对象中所有值的总和?在包含对象的数组中,另一个对象具有值,并且可能是具有相似结构对象的“下一个”数组。
{
value: 4,
next: [
{
value: 3,
next: [...]
},
{
value: 3,
next: [...]
},
...
]
}
答案 0 :(得分:5)
您需要递归来处理对象的任意嵌套:
const nestedSum = o => (o.next || []).reduce((acc, o) => acc + nestedSum(o), o.value);
// Demo
const data = {
value: 4,
next: [{
value: 3,
next: [{value: 5}]
}, {
value: 3,
next: []
},
]
};
console.log(nestedSum(data));