Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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 方法.includes()不是函数错误_Javascript_Function_Methods_Include_Typeerror - Fatal编程技术网

Javascript 方法.includes()不是函数错误

Javascript 方法.includes()不是函数错误,javascript,function,methods,include,typeerror,Javascript,Function,Methods,Include,Typeerror,我正在学习有说服力的Javascript,我有以下代码作为练习之一 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.ar

我正在学习有说服力的Javascript,我有以下代码作为练习之一

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不是函数

那是怎么回事?我找不到答案。

push()方法将一个或多个元素添加到数组的末尾,然后 返回数组的新长度

因此,问题在于这条线
this.arr
不再是此行之后的数组

this.arr = this.arr.push(value)
因此,将此更新为以下内容

this.arr.push(value)

push()方法将一个或多个元素添加到数组的末尾,然后 返回数组的新长度

因此,问题在于这条线
this.arr
不再是此行之后的数组

this.arr = this.arr.push(value)
因此,将此更新为以下内容

this.arr.push(value)

尝试将“has”方法更改为数组函数您使用的是哪个浏览器/版本的JS?例如,请参阅以获取兼容性,将“has”方法更改为数组函数。您使用的是哪个浏览器/版本的JS?例如,请参阅兼容性谢谢,arr变量当然变成了一个数字@很高兴能帮助你!谢谢,arr变量当然变成了一个数字@很高兴能帮助你!