Нижче наведено декілька способів для різних обставин
У більшості звичайних випадків найпростіший спосіб отримати доступ до першого елемента - за допомогою
yourArray[0]
але для цього потрібно перевірити, чи [0] насправді існує.
Є випадки реального світу, коли вам не байдужий оригінальний масив, і не хочете перевіряти, чи існує індекс, ви хочете просто отримати перший елемент або невизначений рядок.
У цьому випадку ви можете використовувати метод shift (), щоб отримати перший елемент, але будьте обережні, що цей метод модифікує вихідний масив (видаляє перший елемент і повертає його). Тому довжина масиву зменшується на одиницю. Цей метод може бути використаний у вбудованих випадках, коли вам просто потрібно отримати перший елемент, але ви не дбаєте про вихідний масив.
yourArray.shift()
Важливо знати, що два вище - це лише варіант, якщо ваш масив починається з індексу [0].
Бувають випадки, коли перший елемент був видалений, наприклад, delete yourArray [0], залишаючи масив "дірками". Тепер елемент у [0] просто не визначений, але ви хочете отримати перший "існуючий" елемент. Я бачив багато випадків цього в реальному світі.
Отже, припускаючи, що ми не маємо знань про масив і перший ключ (або ми знаємо, що є дірки), ми все одно можемо отримати перший елемент.
Ви можете використовувати find (), щоб отримати перший елемент.
Перевагою find () є її ефективність, оскільки він виходить з циклу, коли досягається перше значення, що задовольняє умові (детальніше про це нижче). (Ви можете налаштувати умову і для виключення нульових чи інших порожніх значень)
var firstItem = yourArray.find(x=>x!==undefined);
Я також хотів би включити filter () сюди як варіант спочатку "виправити" масив у копії, а потім отримати перший елемент, зберігаючи початковий масив недоторканим (немодифікованим).
Ще одна причина включити filter () сюди - це те, що він існував до find (), і багато програмісти вже використовували його (це ES5 проти, щоб find () був ES6).
var firstItem = yourArray.filter(x => typeof x!==undefined).shift();
Попередження, що filter () насправді не є ефективним способом (filter () проходить через усі елементи) та створює інший масив. Це добре використовувати на малих масивах, оскільки вплив на продуктивність буде маргінальним, наприклад, ближчим до використання forEach.
(Я бачу, що деякі люди пропонують використовувати для ... in loop, щоб отримати перший елемент, але я б рекомендував проти цього методу для ... in не слід використовувати для ітерації над масивом, де порядок індексів важливий, оскільки він не ' не гарантую замовлення, хоча браузери в основному поважають порядок. До речі, forEach не вирішує проблему, як багато хто пропонує, тому що ви не можете його порушити, і він буде проходити через усі елементи. Було б краще використовувати простий для циклу та перевіряючи ключ / значення
І find (), і filter () гарантують порядок елементів, тому їх безпечно використовувати, як зазначено вище.