Javascript-如何比较数组中的两个对象?
我将一些对象放入一个数组中。我想比较对象[0]。位置和对象[1]。位置,如果这两个值相等,则比较对象[0]。位置=0。我该怎么做 `Javascript-如何比较数组中的两个对象?,javascript,object,Javascript,Object,我将一些对象放入一个数组中。我想比较对象[0]。位置和对象[1]。位置,如果这两个值相等,则比较对象[0]。位置=0。我该怎么做 ` 函数carInfo(名称){ this.name=名称; 这个位置=0; } 让numocars=+提示符(“输入车辆数量:”); for(设i=0;i{ if(object.position==object[index+1].position){ object.position=0; } }); } 返回数组; } 可以有两个以上的对象共享相同的位置,它们是否都
函数carInfo(名称){
this.name=名称;
这个位置=0;
}
让numocars=+提示符(“输入车辆数量:”);
for(设i=0;i=300){
警报(“游戏结束!”+“+array[i]。名称+”+“+”赢“);
打破
}
}
返回数组;
}
`根据它们的位置。我想说:
If(object[i].position === object[i+1].position){
object[i].position = 0;
}
如果阵列中的所有对象都具有“位置”属性,则可以在阵列上映射,并为每个项目检查其位置。对于数组中的每个对象,是否尝试将其与数组中的下一个对象进行比较?如果是这样,它可能看起来像这样:
objectArr.map((object, index) => {
if (object.position === objectArr[index + 1].position){
// The position's are equal, do something
}
})
如果要将数组中的每个对象与数组中的所有其他对象进行比较,可能需要首先根据对象位置对数组进行排序,以节省时间。我对代码执行此操作
objectArr.map((object, index) => {
if (object.position === objectArr[index + 1].position){
// The position's are equal, do something
}
})
但请告诉我错误
Cannot read property 'position' of undefined
我这样做
function shuffleArray(array) {
for (let i = 0; i < array.length; i++) {
let temp = Math.floor(Math.random() * 10 + 1);
array[i].position += temp;
if (array[i].position >= 300) {
alert("game end! " + '"' + array[i].name + '"' + " win");
break;
}
array.map((object, index) => {
if (object.position === object[index + 1].position) {
object.position = 0;
}
});
}
return array;
}
函数shufflearlay(数组){
for(设i=0;i=300){
警报(“游戏结束!”+“+array[i]。名称+”+“+”赢“);
打破
}
array.map((对象,索引)=>{
if(object.position==object[index+1].position){
object.position=0;
}
});
}
返回数组;
}
可以有两个以上的对象共享相同的位置
,它们是否都应设置为位置:0
?对象比较是否仅发生在两个连续索引的对象之间?我想你需要澄清你的问题。[link]()否。如果对象[index]。位置===对象[index+1]。在这种情况下,位置对象[index]。位置=0。不,我不需要全部设置0I执行此操作并给出一个错误“未捕获类型错误:无法读取未定义”函数Shuffarray(数组)的属性'position'{for(let i=0;i function shuffleArray(array) {
for (let i = 0; i < array.length; i++) {
let temp = Math.floor(Math.random() * 10 + 1);
array[i].position += temp;
if (array[i].position >= 300) {
alert("game end! " + '"' + array[i].name + '"' + " win");
break;
}
array.map((object, index) => {
if (object.position === object[index + 1].position) {
object.position = 0;
}
});
}
return array;
}