Javascript 如何检查对象数组是否包含节点中的特定对象
我在节点中有以下代码-Javascript 如何检查对象数组是否包含节点中的特定对象,javascript,node.js,Javascript,Node.js,我在节点中有以下代码- function ABC(a,b,c) { this.a = a; this.b = b; this.c = c; this.equals = function(other) { return other.a == this.a && other.b == this.b && other.c === this.c; }; } var a1 = new ABC("1
function ABC(a,b,c) {
this.a = a;
this.b = b;
this.c = c;
this.equals = function(other) {
return other.a == this.a &&
other.b == this.b &&
other.c === this.c;
};
}
var a1 = new ABC("1", "1", 0.94924088690462316);
var a2 = new ABC("1", "1", 0.94924088690462316);
console.log(a1 === a2);
var arr = [a1];
console.log(arr.includes(a2));
此代码输出为-
false
false
如何检查数组中是否包含特定对象是真的?由于您似乎正在尝试检查对象是否包含相同的值,请查看您已经定义了一个
equals
方法-只需使用它:
功能ABC(a、b、c){
这个a=a;
这个.b=b;
这个.c=c;
this.equals=函数(其他){
返回other.a==this.a&&
other.b==this.b&&
other.c==此.c;
};
}
var a1=新ABC(“1”,“1”,0.94924088690462316);
var a2=新ABC(“1”,“1”,0.94924088690462316);
console.log(a1等于(a2))代码>由于您似乎正在尝试检查对象是否包含相同的值,请查看您已经定义了一个equals
方法-只需使用它:
功能ABC(a、b、c){
这个a=a;
这个.b=b;
这个.c=c;
this.equals=函数(其他){
返回other.a==this.a&&
other.b==this.b&&
other.c==此.c;
};
}
var a1=新ABC(“1”,“1”,0.94924088690462316);
var a2=新ABC(“1”,“1”,0.94924088690462316);
console.log(a1等于(a2))代码>与斯诺的答案略有不同:
功能ABC(a、b、c){
这个a=a;
这个.b=b;
这个.c=c;
this.equals=函数(其他){
返回other.a==this.a&&
other.b==this.b&&
other.c==此.c;
};
}
var a1=新ABC(“1”,“1”,0.94924088690462316);
var a2=新ABC(“1”,“1”,0.94924088690462316);
console.log(a1等于(a2));
var-arr=[a1];
log(arr.some(abc=>(a1.equals(abc)))代码>与斯诺的答案略有不同:
功能ABC(a、b、c){
这个a=a;
这个.b=b;
这个.c=c;
this.equals=函数(其他){
返回other.a==this.a&&
other.b==this.b&&
other.c==此.c;
};
}
var a1=新ABC(“1”,“1”,0.94924088690462316);
var a2=新ABC(“1”,“1”,0.94924088690462316);
console.log(a1等于(a2));
var-arr=[a1];
log(arr.some(abc=>(a1.equals(abc)))
您是否希望输出true
,因为它们的属性和值都相同?@Snow-是的。没错,因为它们的属性和值都是相同的,所以您是否希望输出为true
。没错