JavaScript片不工作
我试图克隆数组,然后使用slice()函数从中删除一个元素。但是,每当我单击要删除的元素时,它都会删除数组中除我单击的元素之外的所有元素 这是我目前的代码:JavaScript片不工作,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我试图克隆数组,然后使用slice()函数从中删除一个元素。但是,每当我单击要删除的元素时,它都会删除数组中除我单击的元素之外的所有元素 这是我目前的代码: deleteContact(contacts: Contacts){ if (contacts === null || contacts === undefined) { return; } const pos = this.contacts.indexOf(contacts); if (pos < 0) { return;
deleteContact(contacts: Contacts){
if (contacts === null || contacts === undefined) {
return;
}
const pos = this.contacts.indexOf(contacts);
if (pos < 0) {
return;
}
this.contacts = this.contacts.splice(pos, 1);
this.contactsListClone = this.contacts.slice();
this.contactListChangedEvent.next(this.contactsListClone);
}
删除联系人(联系人:联系人){
如果(触点===null | |触点===未定义){
返回;
}
const pos=此.contacts.indexOf(contacts);
如果(位置<0){
返回;
}
this.contacts=this.contacts.拼接(位置1);
this.contactsListClone=this.contacts.slice();
this.contactListChangedEvent.next(this.contactsListClone);
}
splice
返回已删除的元素,因此此.contacts
在此行之后只有一个已删除的元素
this.contacts = this.contacts.splice(pos, 1);
就这么办吧
this.contacts.splice(pos, 1);
在克隆联系人之前,您将删除除联系人之外的所有项目。另外,您的问题说您使用的是
slice
,但您的代码使用的是splice
可能重复的