У меня есть этот фрагмент javascript, и мне интересно, могу ли я рассчитать amount
и users
за один проход функции reduce
?Могу ли я сделать эту функцию более кратким
root.children.forEach(function(v) {
v.amount = v.children.reduce(function(a, b) {
console.log(a);
return {
amount: a.amount + b.amount
}
}, {
'amount': 0
}).amount
v.users = v.children.reduce(function(a, b) {
console.log(a);
return {
users: a.users + b.users
}
}, {
'users': 0
}).users
})
Не могли бы вы объяснить, что делает этот код или добивается? Что такое «дети» и т. Д.? – Li357
поэтому у каждого root.children есть дети снова? Поскольку v содержит объект children, и вы затем записываете v.children ... – Gerfried
@AndrewLi - это часть более крупной функции, которая строит иерархический json-файл с входа csv – whytheq