【发布时间】:2021-08-01 08:13:50
【问题描述】:
我创建了一个具有“名称”属性的自定义类
我还在类中添加了一个函数,如果 2 个对象具有相同的名称,则该函数返回 true。当我比较 2 个具有相同名称的自定义对象时,此功能有效。
但是,当我将这些自定义类对象添加为数组/对象中的键时,我遇到了问题。
假设我的自定义类对象是 a。它也是数组中的一个键。当我将 a 与数组中的键进行比较时,我发现 a 不在数组中。
我的类构造函数:
class node {
constructor(name) {
this.name = name;
}
getname() {
return this.name;
}
equiv(other) {
return Boolean(this.name == other.name);
}
inarray(array) {
for (let key in array) {
if (this.name== key.name)
{
return true;
}
}
return false;
}
}
var a = new node("assss");
var b = new node("bssss");
var a2 = new node("assss");
var c = {a:1, b:2}
console.log( a.equiv(a2) ) // true
//But
console.log( a.inarray(c) ) // false
a.equiv(a2) 返回true
但是a.inarray(c) 返回false
^这是我的问题
【问题讨论】:
标签: javascript arrays class object key