#javascript #vue.js
Вопрос:
У меня есть простой массив строк, и я вызываю функцию с выпадающими действиями, которая отправит строку, и если она совпадает с одной из строк в массиве, я хочу удалить ее из массива, но я не уверен, как это сделать
Я видел, как я мог бы сделать это с помощью splice, но у меня нет идентификаторов в этом массиве, это только строки. Поэтому мне буквально нужно сопоставить строку и удалить ее на основе этого совпадения строк
Как я могу просто сопоставить и удалить строку из массива?
вот мой код:
new Vue({ el: "#app", props: { }, data: { tierArray:['one', 'two', 'three'], }, methods: { removeTierSelection(value){ console.log('this is what we are removing'); console.log(value.name); //this prints just the string such as "one" or "two", but without the quotes }, } })
Ответ №1:
Вы можете достичь этого, сделав это:
const removeIndex = this.tierArray.findIndex(tier => tier === value.name) if (removeIndex === -1) return // means item not found this.tierArray.splice(removeIndex, 1)
Ответ №2:
Другим простым подходом было бы
this.tierArray = [...this.tierArray.filter(tier => tier !== value.name)];