Javascript-如何比较数组中的两个对象?

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; } }); } 返回数组; } 可以有两个以上的对象共享相同的位置,它们是否都

我将一些对象放入一个数组中。我想比较对象[0]。位置和对象[1]。位置,如果这两个值相等,则比较对象[0]。位置=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=300){警报(“游戏结束!”+”“'+array[i].name+'“'+win”);break;}array.map((object,index)=>{if(object.position==object[index+1].position){object.position=0;}}}返回数组;}那么我猜你没有正确设置每个对象的位置。我能看看你创建数组和设置位置的代码吗?这是我的代码[链接]()
    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;
}