jquery первый элемент массива

Первый элемент массива можно получить несколькими способами. При помощи метода массива .shift() , матода .slice() и получение нулевого элемента массива (если знаем что таковой имеется).

Содержание

  1. .shift()
  2. Пример
  3. .slice()
  4. Пример
  5. Нулевой элемент
  6. 21 ответ

.shift()

У массива в яваскрипте определен метод .shift() , который извлекает и возвращает первый элемент массива. Соответственно после извлечения — элемент пропадает из массива.

Пример

.slice()

Функция .slice(start[, end] ) формирует новый массив из текущих элементов. Начиная с элемента со значением ключа start и до конца массива или до элемента с ключом end , если передан соответствующий параметр end .

Пример

Нулевой элемент

Если известно, что массив имеет элемент с нулевым ключом, то и получаем этот элемент соответствующим образом.

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

Я попробовал это:

Но это вернуло бы [object Object] . Поэтому мне нужно получить первый элемент из массива, который должен быть элементом ‘first’ .

Почему вы jQuery-ifying ванильный JavaScript-массив? Используйте стандартный JavaScript!

Кроме того,

Некоторые из способов ниже для разных обстоятельств.

В большинстве обычных случаев самый простой способ получить доступ к первому элементу — это

но для этого нужно проверить, существует ли [0] на самом деле.

Есть реальные случаи, когда вас не интересует исходный массив, и вы не хотите проверять, существует ли индекс, вы просто хотите получить первый элемент или неопределенный встроенный.

В этом случае вы можете использовать метод shift(), чтобы получить первый элемент, но будьте осторожны, так как этот метод изменяет исходный массив (удаляет первый элемент и возвращает его). Поэтому длина массива уменьшается на один. Этот метод может использоваться во встроенных случаях, когда вам просто нужно получить первый элемент, но вас не волнует исходный массив.

Важно знать, что два приведенных выше варианта возможны только в том случае, если ваш массив начинается с индекса [0].

Есть случаи, когда первый элемент был удален, например, с помощью delete yourArray [0], оставляя ваш массив с «дырами». Теперь элемент в [0] просто не определен, но вы хотите получить первый «существующий» элемент. Я видел много реальных случаев этого.

Итак, предполагая, что у нас нет знаний о массиве и первом ключе (или мы знаем, что есть дыры), мы все равно можем получить первый элемент.

Вы можете использовать find(), чтобы получить первый элемент.

Преимущество find() заключается в его эффективности, поскольку он выходит из цикла при достижении первого значения, удовлетворяющего условию (подробнее об этом ниже). (Вы можете настроить условие так, чтобы исключать пустые или нулевые значения)

Я также хотел бы включить filter() в качестве опции, чтобы сначала «исправить» массив в копии, а затем получить первый элемент, сохраняя при этом исходный массив без изменений (без изменений).

Другая причина включить сюда filter() состоит в том, что он существовал до find(), и многие программисты уже использовали его (это ES5 против find(), являющегося ES6).

Предупреждение, что filter() не является эффективным способом (filter() проходит через все элементы) и создает другой массив. Это хорошо для небольших массивов, так как влияние на производительность будет незначительным, например, ближе к использованию forEach.

(Я вижу, что некоторые люди рекомендуют использовать цикл for. in, чтобы получить первый элемент, но я бы рекомендовал не использовать этот метод, потому что for. in не следует использовать для перебора массива, для которого важен порядок индекса, потому что Не гарантируйте порядок, хотя вы можете утверждать, что браузеры в основном соблюдают порядок. Кстати, forEach не решает проблему, как многие предлагают, потому что вы не можете ее сломать, и она будет проходить через все элементы. Было бы лучше использовать простую для цикла и проверки ключа/значения

Обе функции find() и filter() гарантируют порядок элементов, поэтому их можно безопасно использовать, как указано выше.

107 MacMac [2010-11-03 21:45:00]

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

Но он вернет [object Object] .

Поэтому мне нужно получить первый элемент из массива, который должен быть элементом first .

javascript jquery arrays

21 ответ

186 Решение John Hartsock [2010-11-03 21:47:00]

154 Matt Ball [2010-11-03 21:48:00]

Почему вы jQuery-ifying ванильный JavaScript-массив? Используйте стандартный JavaScript!

Кроме того,

40 NicoLwk [2012-07-16 17:44:00]

Элемент индекса 0 может не существовать, если первый элемент удален.
Докажите это в консоли вашего браузера:

Лучший способ получить первый элемент без jQuery:

34 eliocs [2012-07-13 19:55:00]

Если вы хотите сохранить удобочитаемость, вы всегда можете добавить первую функцию в Array.protoype :

A, вы можете легко получить первый элемент:

29 Selay [2014-11-28 02:51:00]

Вы можете использовать метод shift() для получения первого элемента, но будьте осторожны, чтобы этот метод изменял исходный массив (удаляет первый элемент и возвращает его). Поэтому длина массива уменьшается на единицу. Этот метод можно использовать во встроенных случаях, когда вам просто нужно получить первый элемент, но вы не заботитесь об исходном массиве.

13 thomax [2016-10-27 00:59:00]

Если ваш массив не заселен от нулевого индекса, вы можете использовать Array.prototype.find() :

8 thejh [2010-11-03 21:47:00]

7 pastullo [2014-09-30 13:43:00]

Только если вы используете underscore.js(http://underscorejs.org/), вы можете:

Найти первый элемент в массиве с помощью фильтра:

В простом javascript:

И аналогично, indexOf:

В простом javascript:

4 letronje [2010-11-03 22:00:00]

Когда имеется несколько совпадений, JQuery.first() используется для извлечения первого элемента DOM, который соответствует селектору css, заданному jquery.

Вам не нужен jQuery для управления массивами javascript.

Метод, который работает с массивами, а он работает с объектами тоже (будьте осторожны, у объектов нет гарантированного порядка!).

Я предпочитаю этот метод больше всего, потому что исходный массив не изменяется.

так как «find» возвращает первый элемент, который соответствует фильтру && !!e соответствует любому элементу.

Примечание Это работает только тогда, когда первый элемент не является «фальшивым»: null , false , NaN , «» , 0 , undefined

Вы также можете использовать .get(0):

Чтобы получить первый элемент массива.

1 asinino [2013-10-21 21:49:00]

@NicoLwk Вы должны удалить элементы с помощью сплайсинга, которые вернут ваш массив. Итак:

0 Moitt [2015-07-06 11:15:00]

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

Если вы привязываете функции вида к массиву, например.

array.map(i => i+1).filter(i => i > 3)

И хотите, чтобы первый элемент после этих функций вы могли просто добавить .shift() , он не изменяет исходный array , его лучше, чем array.map(i => i+1).filter(=> i > 3)[0]

Если вам нужен первый элемент массива без изменения оригинала, вы можете использовать array[0] или array.map(n=>n).shift() (без карты вы будете изменять оригинал. В этом случае btw я предложит версию ..[0] .

0 Yoni [2017-04-19 12:00:00]

Вы также можете использовать этот открытый компонент array-first, чтобы получить первый элемент любого массива Javascript.

Вы также можете попробовать этот пакет NPM.

0 derikb [2017-06-28 20:18:00]

@thomax-ответ довольно хорош, но будет терпеть неудачу, если первый элемент в массиве будет false или false-y (0, пустая строка и т.д.). Лучше просто вернуть true для чего-либо другого, кроме undefined:

0 Matthew [2017-09-20 17:36:00]

Предыдущие примеры хорошо работают, когда индекс массива начинается с нуля. thomax answer не полагался на индекс, начинающийся с нуля, но полагался на Array.prototype.find , к которому у меня не было доступа. Следующее решение, использующее jQuery $.each, хорошо работало в моем случае.

0 Anuga [2017-02-27 19:46:00]

Создайте любой массив объектов ( req ), а затем просто Object.keys(req)[0] выберите первый ключ в массиве Object.

-1 ozhanli [2016-05-24 17:41:00]

Объявите прототип, чтобы получить элемент first array как:

Источник: computermaker.info

Техника и Гаджеты
Добавить комментарий