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我将把数组重建为一个映射并尝试一下。非常感谢。我每次尝试都会收到一个类型错误-请添加您的尝试->作为代码片段