使用splice - JavaScript删除数组后,移动数组中的所有元素

时间:2014-11-07 19:53:54

标签: javascript arrays

我有一个对象数组,每个对象都包含一个名称和地址。如果我使用splice()删除此数组(对象)中的en元素,则移动其他元素" down"在数组中,以便数组中不会留下任何空格。如果不是,如何将所有元素向下移动到数组中的一个索引?

people是另一个包含名称字符串的数组

我的数组看起来像这样:

var array = [0];

for (int i = 0; i < people.length; i++)
{
    array.push({
        name: people[i],
        adress: "adress"
    });
}

我如何删除

for (int i = 0; i < array.length; i++)
{
    if (array[i].name == "some name")
    {
        array.splice(i, 1);
    }
}

这会使数组在其中的某处留下空白索引,还是在调用splice()时移动其他元素。我查看了文档,但无法找到答案。

1 个答案:

答案 0 :(得分:1)

以下是您如何找到答案:

console.log(array);

for (int i = 0; i < array.length; i++)
{
  if (array[i].name == "some name")
    {
      array.splice(i, 1);
  }
}

console.log(array);

for循环之前和之后查看控制台日志,看看发生了什么。使用实时代码是最好的学习方式。

最后,正如我的评论中所述,MDN的文档是详尽无遗的 - 如果您不确定JS中的内容,您可以随时引用它们。以下是与您的问题相关的文章 - Array.prototype.slice()的文档:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice