Подтвердить что ты не робот

Удалить значение массива По индексу в jquery

Массив:

var arr = {'abc','def','ghi'};

Я хочу удалить выше значение массива 'def', используя индекс.

4b9b3361

Ответ 1

Используйте метод сращивания.

ArrayName.splice(indexValueOfArray,1);

Это удаляет элемент 1 из массива, начиная с indexValueOfArray.

Ответ 2

Ваш примерный код неверен и будет вызывать SyntaxError. Кажется, вы смутили синтаксис создания объекта Object с созданием Array.

Правильный синтаксис: var arr = [ "abc", "def", "ghi" ];

Чтобы удалить элемент из массива на основе его значения, используйте метод splice:

arr.splice(arr.indexOf("def"), 1);

Чтобы удалить его по индексу, просто обратитесь непосредственно к нему:

arr.splice(1, 1);

Ответ 3

Ваш синтаксис неверен, вы должны либо указать хеш:

hash = {abc: true, def: true, ghi: true};

Или массив:

arr = ['abc','def','ghi'];

Вы можете эффективно удалить элемент из хэша, просто установив его в null:

hash['def'] = null;
hash.def = null;

Или полностью удалите его:

delete hash.def;

Чтобы удалить элемент из массива, вы должны перебирать каждый элемент и находить тот, который вы хотите (могут быть дубликаты). Вы можете использовать методы поиска и сплайсинга массива:

arr.splice(arr.indexOf("def"), 1);

Это находит первый индекс "def", а затем удаляет его из массива с помощью сплайсинга. Однако я бы рекомендовал .filter(), потому что он дает вам больше контроля:

arr.filter(function(item) { return item !== 'def'; });

Это создаст новый массив с только элементами, которые не являются "def".

Важно отметить, что arr.filter() вернет новый массив, а arr.splice изменит исходный массив и вернет удаленные элементы. Они могут быть полезны, в зависимости от того, что вы хотите делать с элементами.

Ответ 4

delete arr[1]

Попробуйте это, он должен работать, если у вас есть массив вроде var arr =["","",""]

Ответ 5

  1. Найти элемент в массиве и получить его позицию
  2. Удалить используя позицию

var array = new Array();
  
array.push('123');
array.push('456');
array.push('789');
                 
var _searchedIndex = $.inArray('456',array);
alert(_searchedIndex );
if(_searchedIndex >= 0){
  array.splice(_searchedIndex,1);
  alert(array );
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>