Javascript 比较两个不起作用的对象?
我面临一个比较两个物体的问题 我在比较一个传入对象和一个对象数组, 查看对象是否已在数组中 我尝试了两种方法: (betTemps是对象数组,tempBet是应进行比较的当前对象。) 如果之后:Javascript 比较两个不起作用的对象?,javascript,jquery,object,comparison,Javascript,Jquery,Object,Comparison,我面临一个比较两个物体的问题 我在比较一个传入对象和一个对象数组, 查看对象是否已在数组中 我尝试了两种方法: (betTemps是对象数组,tempBet是应进行比较的当前对象。) 如果之后: .. else if(duplicate){ alert("The Bet is already in the List"); } ... 添加已在阵列中的对象后的控制台输出: 控制台输出屏幕截图 如您所见,它们是相等的,但另一个对象仍添加到数组中 我也尝试在indexOf中使用此方法: if(
.. else if(duplicate){
alert("The Bet is already in the List");
} ...
添加已在阵列中的对象后的控制台输出:
控制台输出屏幕截图
如您所见,它们是相等的,但另一个对象仍添加到数组中
我也尝试在indexOf中使用此方法:
if(this.betTemps.indexOf(tempBet) > -1){
alert("The Bet is already in the List");
}
添加已在阵列中的对象后的控制台输出:
控制台输出屏幕截图
附言:
比较前的代码:
addBet(bet, index){
var tempBet = Object.assign({}, bet);
var select = (document.getElementById('select'+index)) as HTMLSelectElement;
select = select.options as HTMLSelectElement;
let count = 0;
tempBet.category = [];
for(let i = 0; i < 3; i++) {
if (select[i].selected) {
tempBet.category.push(select[i].value):
count++;
}
}
if (count == 0) {
alert("There has to be at least one Category choosen!");
} else if(duplicate <- This part changes individually which method you use ->){
alert("The Bet is already in the List");
} else {
this.betTemps.push(tempBet);
}
addBet(下注,索引){
var tempBet=Object.assign({},bet);
var select=(document.getElementById('select'+index))作为HTMLSelectElement;
select=select.options作为HTMLSELECT元素;
让计数=0;
tempBet.category=[];
for(设i=0;i<3;i++){
如果(选择[i]。已选择){
tempBet.category.push(选择[i].value):
计数++;
}
}
比较后的代码:
addBet(bet, index){
var tempBet = Object.assign({}, bet);
var select = (document.getElementById('select'+index)) as HTMLSelectElement;
select = select.options as HTMLSelectElement;
let count = 0;
tempBet.category = [];
for(let i = 0; i < 3; i++) {
if (select[i].selected) {
tempBet.category.push(select[i].value):
count++;
}
}
if (count == 0) {
alert("There has to be at least one Category choosen!");
} else if(duplicate <- This part changes individually which method you use ->){
alert("The Bet is already in the List");
} else {
this.betTemps.push(tempBet);
}
if(计数==0){
警报(“必须至少选择一个类别!”);
}否则,如果(重复){
警告(“下注已在列表中”);
}否则{
这个.betTemps.push(tempBet);
}
检查对象是否在数组中的最佳方法是使用array includes函数:
比如,如果我想检查一个对象是否在B数组中,我会检查
(A==B.包括(A))