当前位置: 首页 > 知识库问答 >
问题:

删除JavaScript或Typescript中数组数组中的对象[duplicate]

吕飞翼
2023-03-14

我试图删除/删除一个位于数组A中位置x的对象,这样数组A就位于另一个数组中,如下面所示:

    var lol = [ 
            [
              {'a':1},
              {'b':2},
              {'c':3}
            ], 
            [
              {'d':4},
              {'e':5},
              {'f':6}
            ], 
            [
              {'g':7},
              {'h':8},
              {'i':9}
            ]
];

现在让我们说我想删除对象与关键'f'。我有一个

function deleteNestedElement(outerIndex, innerIndex) {
        lol[outerIndex].splice(0, innerIndex);
}

随叫随到

deleteNestedElement(2,0);
alert(lol);

我得到的结果是这样的:

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

这是我的名片

我需要从这个数组中删除所需的特定元素

共有2个答案

夏涵畅
2023-03-14

Array.splice函数将第一个参数作为索引,将第二个参数作为要删除的元素数。在我们的例子中,它应该是splice(innerIndex,1),因为我们需要删除特定索引(即innerIndex)中的1个元素。

此外,数组的索引从0开始,因此对于数组中的第二项,您需要为outerIndex传递1,为innerIndex传递2,如DeleteNesteElement(1,2)

var lol = [[{"a":1},{"b":2},{"c":3}],[{"d":4},{"e":5},{"f":6}],[{"g":7},{"h":8},{"i":9}]];

function deleteNestedElement(outerIndex, innerIndex) {
        lol[outerIndex].splice(innerIndex, 1);
}

deleteNestedElement(1,2);
console.log(lol);
柴宏阔
2023-03-14

要删除项Array.splice()需要一个索引(第一个参数)和要删除的项数(第二个参数)。您传递了0和0-从索引0中删除0项,因此未删除任何内容。

此外,alert()将JS对象转换为字符串,这就是您看到的。改用console.log()

function deleteNestedElement(outerIndex, innerIndex) {
  lol[outerIndex].splice(innerIndex, 1);
}

var lol = [[{"a":1},{"b":2},{"c":3}],[{"d":4},{"e":5},{"f":6}],[{"g":7},{"h":8},{"i":9}]];

deleteNestedElement(1, 2); // this will remove the "f" object
deleteNestedElement(2, 0); // this will remove the "g" object
console.log(lol);
 类似资料:
  • 如何在打字稿中从数组中删除对象? 所以我想从所有对象中删除drug_id。我该如何实现呢?谢谢!

  • 问题内容: 如何从数组中删除对象?我想删除,其中包括名称的对象从。例如: 我要实现: 问题答案: 您可以使用多种方法从数组中删除项目: 如果要删除position处的元素,请使用: 要么 您可以使用或结合使用参见MDN从数组中删除一个或多个元素,例如

  • 问题内容: 我有一个包含对象数组的对象。 我想知道什么是从数组中删除重复对象的最佳方法。举例来说,事物……东西将变成…… 问题答案: 一种原始方法是:

  • 问题内容: 文件: 有没有办法从数组中提取特定对象?IE如何从项数组中提取ID为23的整个项对象。 我努力了: 但是我很确定我没有正确使用’pull’。据我了解,pull将从数组中拉出字段,而不是对象。 关于如何将整个对象从数组中拉出的任何想法。 另外,我尝试在mongoose / nodejs中执行此操作,也不确定这种类型的内容是否在mongoose API中,但我找不到它。 问题答案: 尝试.

  • 问题内容: 我需要从满足条件的数组中删除对象,我可以根据条件更新数组的对象,如下所示: 这正在工作 为了删除我正在这样做 但这不起作用,并给出此错误, ElasticsearchIllegalArgumentException [无法执行脚本]; 嵌套:ConcurrentModificationException; 错误:ElasticsearchIllegalArgumentException

  • 问题内容: 我有一个包含我的对象的数组。每个人都有财产。 有没有比我的数组中找到重复的帖子ID的更有效方法? 问题答案: 我将建议2解决方案。 两种方法都必须是平等的 使帖子符合可哈希和平等 在这里,我假设您的struct(或类)具有type 的属性。 解决方案1(丢失原始订单) 要删除重复的内容,您可以使用 解决方案2(保留订单)