JavaScript 切片不工作

标签 javascript arrays angularjs

我正在尝试克隆我的数组,然后使用 slice() 函数从中删除一个元素。但是,每当我单击要删除的元素时,它都会删除数组中除我单击的元素之外的所有内容。

这是我当前的代码:

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);
}

最佳答案

splice 返回删除的元素,所以this.contacts这一行之后只有一个删除的元素

this.contacts = this.contacts.splice(pos, 1);

简单的做

this.contacts.splice(pos, 1);

关于JavaScript 切片不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49451606/

相关文章:

javascript - 列范围图表 Highcharts 中的多个间隔

javascript - Angularjs - 使用 "this"关键字从其范围之外更新 ng-repeat 中的各个值

javascript - 递归地从嵌套数组中删除对象

c - (双)for 循环与 C 中的变量索引

ruby-on-rails - RoR 在两列中显示元素

html - AngularJS 的 Internet Explorer 背景位置和背景大小

angularjs - 在 Eclipse 中将 AngularJS 替换为 Angular 5

javascript - 为什么我的悬停添加类在 Jsfiddle 上有效,但在我的网站上无效?我的标题中是否缺少某些内容?

javascript - 使用 jQuery,如何以不同的时间间隔重复一个函数?

javascript - 我如何将两个函数放在一起,两个函数内部都有递归