从数组中拼接对象时,我得到一个非常奇怪的行为。
我有一个带对象的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
谢谢。
答案 0 :(得分:3)
让我们接受这个数组:
[1, 2, 3]
如果您删除第一个元素,您最终将获得:
[2, 3]
现在您删除第二个元素:
[2]
第三个:
[2]
如您所见,您实际上想拼接出第一个元素,直到数组为空:
while(nav.length)
nav.splice(0, 1);
或者只是:
nav.splice(0, nav.length);