Удаление объекта из массива в vue props

Я получаю очень странное поведение при соединении объекта из массива.

У меня есть массив js с объектами. Я передаю его через props и заполняю навигацию на его основе. Теперь, когда я пытаюсь удалить его внутри 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?

Hyyan Abo Fakher 10.08.2018 16:23
2
1
326
1

Ответы 1

Возьмем этот массив:

  [1, 2, 3]

Если вы удалите первый элемент, вы окажетесь в:

 [2, 3]

Теперь вы удалите второй элемент:

[2]

И третье:

 [2]

Как видите, вы действительно хотите разделить первый элемент до тех пор, пока массив не станет пустым:

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

или просто:

  nav.splice(0, nav.length);

Ага, вы правы, но на самом деле мне нужно удалить позицию из любой позиции, которую я хочу. Так что j здесь нужен

Hkm Sadek 10.08.2018 16:25

Другие вопросы по теме