繁体   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