Дополнительно
Как удалить определенное значение из массива с помощью jQuery
У меня есть массив, который выглядит следующим образом: var y = [1, 2, 3];
Я хотел бы удалить 2
из массива y
.
Как я могу удалить определенное значение из массива, используя jQuery? Я попробовал pop ()
, но это всегда удаляет последний элемент.
396
18
Рабочий [JSFIDDLE][1]
Вы можете сделать что-то вроде этого:
Результат:
http://snipplr.com/view/14381/remove-item-from-array-with-jquery/
С jQuery вы можете выполнять однострочную операцию, как это:
Пример: http://jsfiddle.net/HWKQY/
Использует родной
.splice ()
и jQuery's$. InArray ()
.Метод jQuery.filter полезен. Это доступно для объектов
Array
.http://jsfiddle.net/emrefatih47/ar0dhvhw/
В Ecmascript 6:
https://jsfiddle.net/emrefatih47/nnn3c2fo/
Вы можете использовать underscore.js. Это действительно делает вещи простыми.
В вашем случае весь код, который вам придется написать, -
и результат будет [1,3].
Это уменьшает код, который вы пишете.
Не просто, но... Почему бы не использовать более простой способ. Удалить 'c' из следующего массива
Вы также можете использовать: (Примечание для себя: [Не изменяйте объекты, которыми у вас нет](http://www.nczonline.net/blog/2010/03/02/maintainable-javascript-dont-modify-objects- you-down-own /))
Добавление проще
a.push ('c')
Удалить элемент в массиве
Пример использования
Чтобы использовать эту функцию прототипа, вам необходимо вставить ее в свой код. Затем вы можете применить его к любому массиву с «нотацией точек»:
В Javascript нет собственного способа сделать это. Вы можете использовать библиотеку или написать небольшую функцию, чтобы сделать это вместо этого: http://ejohn.org/blog/javascript-array-remove/
Моя версия ответа user113716. Он удаляет значение, если совпадение не найдено, что нехорошо.
Теперь удаляется 1 элемент, если найдено совпадение, 0, если совпадений не найдено.
Как это работает:
value
вarray
count
, начиная сindex
, поэтому мы просто хотимcount
из1
Существует простое решение со сплайсом. Согласно W3School синтаксис сплайса следующий ;
индекс Требуется. Целое число, которое указывает, в какой позиции добавлять / удалять элементы, Используйте отрицательные значения, чтобы указать позицию из конца массива
сколько Требуется. Количество предметов, подлежащих удалению. Если установлено значение 0, элементы не будут удалены
item1, ..., itemX Необязательно. Новые элементы будут добавлены в массив
Имейте это в виду, что следующие js вытолкнут один или несколько сопоставленных элементов из данного массива, если они найдены, в противном случае не удалит последний элемент массива.
Или
Так что финал должен выглядеть следующим образом
Надеюсь, это поможет.
Вы можете использовать функцию .not следующим образом:
Попробуй это, это работает для меня
У меня была аналогичная задача, в которой мне нужно было удалять несколько объектов одновременно на основе свойства объектов в массиве.
Итак, после нескольких итераций я заканчиваю:
Я бы расширил класс массива функцией
pick_and_remove ()
, например так:Хотя это может показаться немного многословным, теперь вы можете вызывать
pick_and_remove ()
в любом массиве, который вы, возможно, захотите!Использование:
Вы можете увидеть все это в действии на тему покемонов [здесь.][1]
Затем вы можете вызвать функцию в любом месте вашего кода.
Это работает во всех случаях и позволяет избежать проблем в методах выше. Надеюсь, это поможет!
Чтобы безопасно удалить 2 из массива, используя ванильный JavaScript:
Источник полифиллинга: Мозилла