我有一个对象数组,每个对象都包含一个名称和地址。如果我使用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()
时移动其他元素。我查看了文档,但无法找到答案。
答案 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