gpt4 book ai didi

javascript - JavaScript 中的 SUMIF() ?

转载 作者:行者123 更新时间:2023-11-28 12:59:44 27 4
gpt4 key购买 nike

我需要的是类似于 Excel 中的 SUMIF() 函数。假设我有两个数组:

a = [A, B, B, A, B, A]; 
b = [4, 2, 7, 6, 8, 9];

现在,如果我们在 a 和 b 中采用相同的索引,我们会得到:A:4,B:2,B:7,A:6,B:8,A:9。

我现在想要将属于 A 的所有数字和属于 B 的所有数字相加,因此结果应类似于:A = 19 且 B = 17。

理想情况下,我应该构造一个如下所示的字符串:“A:19:B:17”。

如果我想要总结另一个 C 或 D,则该代码也应该可以工作。

我该怎么做?

最佳答案

您可以使用 map :

let a = ['A', 'B', 'B', 'A', 'B', 'A'];
let b = [4, 2, 7, 6, 8, 9];

let m = ((map) => {
a.forEach((v, i) => {
map.set(v, ((map.get(v) || 0) + b[i]));
});

return map;
})(new Map());

console.log([...m.entries()]);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - JavaScript 中的 SUMIF() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51820399/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com