用设置值替换数组中的重复值 [英] Replacing a duplicate value in an array with a set value
本文介绍了用设置值替换数组中的重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试构建一个数组,该数组将替换重复的值将成为一个设置值.我不确定如何去做.
I'm trying to build an array that will replace duplicate values will a set value. I'm not sure how to go about doing it though.
var enemy1 = 400 + $gameTroop.members()[0].enemyId();
var enemy2 = 400 + $gameTroop.members()[1].enemyId();
var enemy3 = 400 + $gameTroop.members()[2].enemyId();
var array = [enemy1, enemy2, enemy3];
console.log(array);
array.forEach(function(kValue)) {
// do something
}
使用此数组将踢出我指定的值.ec [410,411,412]
With this the array will kick out my designated values. ec [410, 411, 412]
如果有重复;[410,410,412]
In the event that there is a duplicate; [410, 410, 412]
我想将重复项的值更改为1000.
I want to change the duplicate to be a value of 1000.
这样[410,410,412]
So that [410, 410, 412]
现在等于[410,1000,412]
now equals [410, 1000, 412]
任何帮助都将受到赞赏.
Any and all help is appreciated.
推荐答案
您可以采用 Set
并为看到的值映射一个不同的值.
You could take a Set
and map a different value for seen values.
const
data = [410, 410, 412],
result = data.map((s => v => s.has(v)
? 1000
: (s.add(v), v)
)(new Set));
console.log(result);
这篇关于用设置值替换数组中的重复值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文