Javascript 用设定值替换数组中的重复值

Javascript 用设定值替换数组中的重复值,javascript,arrays,Javascript,Arrays,我正在尝试构建一个数组,它将替换重复的值,并将其设置为一个设置值。不过我不知道该怎么做 var enemy1 = 400 + $gameTroop.members()[0].enemyId(); var enemy2 = 400 + $gameTroop.members()[1].enemyId(); var enemy3 = 400 + $gameTroop.members()[2].enemyId(); var array =

我正在尝试构建一个数组,它将替换重复的值,并将其设置为一个设置值。不过我不知道该怎么做

        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
}
这样,数组将踢出我指定的值。欧共体[410411412]

如果存在副本;[410410412]

我想将副本的值更改为1000

因此[410410412]

现在等于[4101000412]


非常感谢您的帮助。

通过重建映射方法,我能够将变量与自身进行比较,并将映射键和值重置为适当的值

var enemy1 = 400 + $gameTroop.members()[0].enemyId();
        var enemy2 = 400 + $gameTroop.members()[1].enemyId();
        var enemy3 = 400 + $gameTroop.members()[2].enemyId();
        let myMap = new Map();
        
        myMap.set(0, enemy1);
        
        if(enemy2 == enemy1) {
            myMap.set(1, 1000);
        } else {
            myMap.set(1, enemy2);
        }
        
        if(enemy3 == enemy2 || enemy3 == enemy1) {
            myMap.set(2, 1000);
        } else {
            myMap.set(2, enemy3);
        }
谢谢@enhzflep的建议。

您可以选择一个集合,并为所看到的值映射一个不同的值

常数 数据=[410410412], 结果=data.maps=>v=>s.hasv ? 1000 :s.addv,v 新设置;
console.logresult;实际问题是什么?到目前为止,你自己尝试了什么来解决这个问题?我会考虑使用JavaScript地图。每次遇到一个元素时,都会检查它是否在地图中。如果是这样,说出指定的数字,1000。如果它不在地图上,插入它,然后吐出新插入的一个。.has和.set方法似乎很有用@Andreas我尝试过将这些值相互比较并交换位置的值,但每次尝试时都会出现一个类型错误。@enhzflep我将把数组重建为一个映射并尝试一下。非常感谢。我每次尝试都会收到一个类型错误-请添加您的尝试->作为代码片段