从Vue Pros中的数组中删除对象

时间:2018-08-10 14:18:59

标签: javascript arrays vue.js

从数组中拼接对象时,我得到一个非常奇怪的行为。

我有一个带对象的js数组。我通过道具传递它并基于它填充导航。现在,当我尝试在created hood内删除它时,它删除了一半并保留了一半。 这是代码。很简单

props: {
 navItems: {
  type: Array,
 },
},

在创建的挂钩中,我有

let nav = this.navItems
for(let j in nav){
  nav.splice(j,1)
}
console.log(nav) // print half item from the array. Shouldn't remove all?
this.nav = nav

谢谢。

1 个答案:

答案 0 :(得分:3)

让我们接受这个数组:

  [1, 2, 3]

如果您删除第一个元素,您最终将获得:

 [2, 3]

现在您删除第二个元素:

[2]

第三个:

 [2]

如您所见,您实际上想拼接出第一个元素,直到数组为空:

 while(nav.length)
   nav.splice(0, 1);

或者只是:

  nav.splice(0, nav.length);