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

Move all elements in array after removing one with splice - JavaScript

本文关键字:元素 移动 数组 一个 splice-JavaScript 使用      更新时间:2023-09-26

我有一个对象数组,每个对象都包含一个名称和地址。如果我用splice()移除这个数组中的en元素(一个对象),那么其他元素是否在数组中"向下"移动,这样数组中就不会留下空格。如果不是,如何将数组中的所有元素下移一个索引?

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()时其他元素是否被移动了。我看过文件,但找不到答案。

以下是如何找到答案:

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