在javascript中为列表创建了一个删除函数,但它没有删除元素

在javascript中为列表创建了一个删除函数,但它没有删除元素,javascript,Javascript,我正在学习O'Reily的数据结构和算法,在第54页,我已经写出了我的列表函数,我正在测试我的附加和删除函数。我的删除函数实际上不起作用,我使用了书中的内容。以下是函数: function remove(element) { var foundAt = this.find(element); if (foundAt > -1) { // splice(index, howmany, item1, ...., itemX) this.d

我正在学习O'Reily的数据结构和算法,在第54页,我已经写出了我的列表函数,我正在测试我的附加和删除函数。我的删除函数实际上不起作用,我使用了书中的内容。以下是函数:

function remove(element)
{
    var foundAt = this.find(element);
    if (foundAt > -1)
    {
        // splice(index, howmany, item1, ...., itemX)
        this.dataStore.splice(foundAt, 1);
        --this.listSize;
        return true;
    }
    return false;
}
当我试着跑的时候

names.remove("Raymond");
就像在书中一样,“雷蒙德”并没有从列表中删除。我不确定我可能错了什么。这是我的密码:

函数列表(){
这个.listSize=0;
此值为0.pos;
this.dataStore=[];//初始化空数组以存储列表元素
//this.clear=clear;
this.find=find;
this.toString=toString;
//this.insert=插入;
this.append=append;
这个。移除=移除;
//this.front=front;
//this.end=end;
//this.prev=prev;
//this.next=next;
这个长度=长度;
//this.currPost=currPos;
//this.moveTo=moveTo;
//this.getElement=getElement;
这个长度=长度;
//this.contains=包含;
}
//附加元素
函数附加(元素){
this.dataStore[this.listSize++]=元素;
}
//删除元素
函数查找(元素){
对于(var i=0;i-1){
//拼接(索引、数量、项目1、…、项目x)
this.dataStore.splice(foundAt,1);
--这是列表大小;
返回true;
}
返回false;
}
函数长度(){
返回这个.listSize;
}
函数toString(){
返回此.dataStore;
}
变量名称=新列表();
名称。附加(“辛西娅”);
名称。附加(“雷蒙德”);
姓名。附加(“芭芭拉”);
console.log(names.toString());
姓名。删除(“雷蒙德”);

console.log(names.toString())未删除任何内容,因为
find
方法的循环错误

更改

for (var i = 0; i < this.dataStore; ++i)
for (var i = 0; i < this.dataStore.length; ++i)
for(var i=0;i

for (var i = 0; i < this.dataStore; ++i)
for (var i = 0; i < this.dataStore.length; ++i)
for(var i=0;i
已修复

谢谢!我一直在看,我想:(