我正在通过Eloquent Java语言学习,并且我有以下代码作为练习之一。
class Group {
constructor(){
this.arr = []
}
add(value){
if(!this.has(value)) {
this.arr = this.arr.push(value)
}
}
has(value){
return this.arr.includes(value);
}
delete(value){
this.arr = this.arr.filter(n => n !== value)
}
static from(collection){
let rec = new Group;
for (let value of collection){
rec.add(value)
}
return rec
}
}
似乎正确,应该可以,但是我得到了错误
TypeError:arr.includes不是函数
那是什么意思?我找不到答案。
答案 0 :(得分:1)
从https://istio.io/docs/tasks/traffic-management/request-routing/,
push()方法将一个或多个元素添加到数组的末尾,然后 返回数组的新长度。
因此,问题出在这一行。 this.arr
不再是此行之后的数组。
this.arr = this.arr.push(value)
因此,将其更新为以下内容
this.arr.push(value)