【问题标题】:Deleting object from array in vue props从 vue 道具中的数组中删除对象
【发布时间】:2018-08-10 14:18:59
【问题描述】:

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

我有一个带有对象的 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

谢谢。

【问题讨论】:

标签: javascript arrays vue.js


【解决方案1】:

让我们来看看这个数组:

  [1, 2, 3]

如果您删除第一个元素,您最终会出现:

 [2, 3]

现在你删除第二个元素:

[2]

第三个:

 [2]

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

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

或者只是:

  nav.splice(0, nav.length);

【讨论】:

  • 是的,你是对的,但实际上我需要从我想要的任何位置删除该位置。所以这里需要j
猜你喜欢
  • 2019-03-07
  • 2018-07-25
  • 2022-06-12
  • 2020-11-20
  • 2015-08-12
  • 2018-05-13
  • 1970-01-01
  • 2012-05-12
  • 2021-04-21
相关资源
最近更新 更多