簡體   English   中英

羅達什。 如何從數組對象中獲取聚合數組

[英]Lodash. How to get aggregate array from array objects

例如,我有一個數組:

const reference = [{id: 1, value: 10}, {id: 2, value: 10}, {id: 3, value: 10}, {id: 4, value: 5}];

如何從參考中獲取數組值,例如

const result = [0, 10, 20, 25];

第一步總是 = 0

第二步 0 + 10 = 10

第三步 0 + 10 + 10 = 20

第四步 0 + 10 + 10 + 5 = 25

您可以減少數組,並將當前value添加到最后一個總和:

 const reference = [{id: 1, value: 10}, {id: 2, value: 10}, {id: 3, value: 10}, {id: 4, value: 5}]; const result = reference.reduce((r, o, i) => { r.push(i === 0? 0: r[r.length - 1] + o.value); return r; }, []) console.log(result);

您可以 map 通過對總和進行閉包並將第一個元素取零來獲取這些值。

 const reference = [{ id: 1, value: 10 }, { id: 2, value: 10 }, { id: 3, value: 10 }, { id: 4, value: 5 }], result = reference.map((sum => ({ value }, i) => sum += i && value)(0)); console.log(result);

我這樣做的方法是使用Array.reduce方法,如下所示:

 let result = [0] reference.reduce((acc, cur) => { result.push(Object.values(cur)[1]+result[result.length-1]) })

希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM