我有两个数组,A = [22,33,22,33]
和B = [3,10,5,9]
。
我想创建一个像C = [22,max(3,5), 33, max(10,9)]
有人可以帮忙! 提前致谢
答案 0 :(得分:3)
您可以按照数组a
的值进行分组,并将b
的值设置为a
的相同索引进行分组。
var a = [22, 33, 22, 33],
b = [3, 10, 5, 9],
groups = new Map(),
result;
a.forEach(g => groups.set(g, -Infinity)); // prevent zero false values
b.forEach((v, i) => groups.set(a[i], Math.max(groups.get(a[i]), v)));
result = [].concat(...groups);
console.log(result);