javascript - jQuery/Javascript 从对象数组中删除对象

标签 javascript jquery arrays multidimensional-array removeall

我有一个对象数组,如下所示:

[
[0]{"asin": "1234",
    "title: "Test"},
[1] {"asin": "123fef4",
    "title: "aaaaaaa"},
[2] {"asin": "testtet",
     "title: "testt123"},
]

将项目添加到数组就像一个魅力,这里是代码:

 items.push(
 {
   "asin": "1234",
   "title": "test"
 });

这部分工作正常...现在是我需要通过数组内部的 ASIN 属性从数组中删除项目的部分...

我有一个如下所示的函数:

  function remove(array, element) {
            const index = array.indexOf(element);
            array.splice(index, 1);
            console.log("Removed element: " + element);
        }

如何调用删除函数:

  remove(items, "1234");

这会从列表中删除该项目,但不是我想要的项目。我在传递值 1234 时进行了检查,asin 值 1234 的项目保留在数组中...

这里可能出了什么问题? :/

最佳答案

您无法将字符串与对象进行匹配。像下面一样使用 findIndex 并使用返回的索引。

function remove(array, element) {
    const index = array.findIndex(e => e.asin === element);
    array.splice(index, 1);
    console.log("Removed element: " + element);
}

关于javascript - jQuery/Javascript 从对象数组中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50684779/

相关文章:

javascript - MongoDB计算不同的值(value)?

php - 使用 Chrome : Uncaught SyntaxError: Unexpected token <

javascript - 将 dojo 数据网格导出到 CSV 文件

javascript - 从异步或同步 JavaScript 请求返回值

javascript - 如何将默认文本添加到 HTML <select>?

java - Java 中的多维(数组的数组)。它们是行数组还是列数组?

c++ - 添加到文件名前面

javascript - 使用 Angular 数字格式过滤器格式化值

Jquery Index 搜索 0 时返回 -1

c++ - 将数组 (&) 传递给函数 c++,运行时错误