javascript - 如果对象在 JS 数组中,则从数组中推送或删除对象

标签 javascript

我正在寻找更优雅、更有效的方式来切换数组中的对象。

所以我的arr是:

let arr = [
   {id: 2},
   {id: 3},
   ...
] 

现在我这样做:

if (arr.find(function(element) { return element.id === upload.id } )) {
    arr = arr.filter(function(element) {
        return element.id !== upload.id;
    });
}
else {
    arr.push(upload)
}

最佳答案

const index = arr.findIndex(function(element) { return element.id === upload.id });
if (index > -1) {
    arr.splice(index, 1);
}) else {
    arr.push(upload);
}

关于javascript - 如果对象在 JS 数组中,则从数组中推送或删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53006466/

相关文章:

javascript - 从javascript传递值到表单

Javascript插入克隆排序问题

javascript - 强制 ng-include 重新渲染

javascript - 在 react 钩子(Hook)状态不保留其先前的状态

javascript - 如何将 Google 地点自动完成功能添加到 Flask 中?

javascript - CSS JS 下拉菜单 : Extend the hover area beyond the image link

javascript - 用 Python 编写的类 CoffeeScript 语言

javascript - 调用函数时在我的JS代码中未捕获到SyntaxError

javascript - 在 jquery 中向 body 添加类在 javascript 方法中失败

javascript - 如何从 URL 中删除/替换某些内容?