Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查对象数组是否包含节点中的特定对象_Javascript_Node.js - Fatal编程技术网

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
。没错