簡體   English   中英

如何計算 javascript 中 arrays 的值的總和

[英]How to calculate the sum of the values of arrays in javascript

我是編程新手,在 javascript (vue) 中進行數組處理時遇到了麻煩。

這是交易:我有 26 個 arrays,每個有 4 個元素(值:a、b、c、d)。

我必須根據它們的索引對值求和,例如:

{c, d, b, a} = c = 4, d = 3, b = 2, a = 1;

最后我必須有一個包含所有這 26 個對象之和的數組,例如:[a = 104, b = 78, c = 52, d = 26]

我目前擁有的:

Array(26) [ (4) […], (4) […], (4) […], (4) […], (4) […], (4) […], (4) […], (4) […], (4) […], (4) […], … ]

this.array.forEach(item => {
    sum[item.value] = sum[item.value] + (i+1)
});

編輯:26 個對象數組的對象具有不同順序的值和描述 {b, a, d, c}, {a,d,b,c}, {a,b,c,d}...索引有“點”(要求和的值),即:第一個索引 = 4 個點,第二個索引 = 3,第三個 = 2,最后一個 = 1我必須對每個單獨的值求和並放入一個數組的結果。

所以我的預期結果數組是(例如):

[a = 104, b = 78, c = 52, d = 26]

Edit2:對不起,我一開始不明白你在問什么。 我的簡化輸入數組:

Array(3) [
[
    {value: "a", description: "..."},
    {value: "b", description: "..."},
    {value: "c", description: "..."},
    {value: "d", description: "..."}
], 
[
    {value: "a", description: "..."},
    {value: "b", description: "..."},
    {value: "c", description: "..."},
    {value: "d", description: "..."}
], 
[
    {value: "a", description: "..."},
    {value: "b", description: "..."},
    {value: "c", description: "..."},
    {value: "d", description: "..."}
]]

我認為這更像是一個邏輯問題,但我堅持這一點。

提前致謝!

解釋(可能不是很好)這是做什么的:

對於每個內部數組,它獲取每個 object 並將其轉換為類似 ['a', 3] 的數組,其中 'a' 是 object 的值,3 是 4 減去它的索引(因此分數應該是 4, 3 , 2, 1 表示內部數組中的四個位置)。 然后將內部 arrays 展平,以便這些新的 arrays 在陣列中都處於同一級別。 這些新的 arrays 是通過 reduce 處理的,以將分數與我們存儲在數組中的值相加。

 const data = [ [{ value: 'a' }, { value: 'b' }, { value: 'c' }, { value: 'd' }], [{ value: 'b' }, { value: 'c' }, { value: 'd' }, { value: 'a' }] ]; const res = data.flatMap( (scores) => scores.map(({ value }, i) => [value, 4 - i]) ).reduce( (acc, [key, score]) => Object.assign(acc, { [key]: acc[key] + score }), { a: 0, b: 0, c: 0, d: 0 } ); console.log(res);

暫無
暫無

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

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