Наповнення JS розділу

Добридень, Пані та Панове, завдяки вам вдалося зібрати більше 19тис грн з необхідних 15тис на впровадження JS розділу.

JS розділ вже впроваджено - переходимо до його наповнення і почнемо бігти довгий марафон, адже JS має більше 1100 різноманітних методів, властивостей, подій і т.д., які необхідно описати.

Будемо працювати, і вдень, і вночі, щоб орієнтовно взимку закінчити наповнювати JS розділ!

Ви також можете допомогти нам в цьому. Долучайтеся до нашої спільноти в дискорді - ставайте її частиною і допомагайте нашому розвитку.

Також, підтримуйте нас матеріально.

JS метод Array.lastIndexOf()

Опис

Метод lastIndexOf() здійснює пошук елемента (параметр searchElement) у масиві, використовуючи алгоритм строгої рівності, той самий, що й у оператора ===. Однак варто пам'ятати про особливості:

  • NaN завжди розглядається як нерівний будь-якому іншому значенню, тому lastIndexOf() поверне -1, якщо searchElement є NaN.
  • Метод lastIndexOf() починає пошук з кінця масиву і рухається до його початку, що допомагає виявити останнє входження елемента.
  • У випадку розріджених масивів (з пустими значеннями), lastIndexOf() ігнорує порожні ячейки.

Така поведінка методу особливо корисна при роботі з великими масивами даних або в ситуаціях, коли важливо точно визначити позицію останнього входження елемента.

Розглянемо наступний код:

let animals = ['cat', 'dog', 'elephant', 'dog', 'bird'];
let lastIndex = animals.lastIndexOf('dog');

console.log(lastIndex); // 3

У цьому прикладі ми маємо масив animals, який містить декілька різних тварин. Ми використовуємо метод lastIndexOf() для пошуку останнього входження слова 'dog'. У результаті ми отримуємо індекс 3, що відповідає другому входженню 'dog' у нашому масиві.

Порада:

При використанні методу lastIndexOf() важливо мати на увазі, що він шукає значення у масиві з кінця. Це означає, що метод поверне індекс останнього входження значення. Якщо вам потрібно знайти перше входження, розгляньте використання методу Array.prototype.indexOf().

Порада:

Якщо значення не знайдено в масиві, метод lastIndexOf() поверне -1. Тому, при перевірці результату, будьте уважні і впевніться, що врахуєте цю можливість.

Наприклад:

`const myArray = [1, 2, 3, 2, 1]; console.log(myArray.lastIndexOf(2)); // виведе: 3

console.log(myArray.lastIndexOf(2, 2)); // виведе: 1

console.log(myArray.lastIndexOf(4)); // виведе: -1`

Нотатка:

Метод lastIndexOf() також приймає необов'язковий аргумент, який вказує з якого індексу починати пошук у масиві. Це дозволяє вам обмежити область пошуку.

За замовчуванням, пошук відбувається від кінця масиву (індекс -1), але ви можете вказати інший індекс для початку пошуку, наприклад: myArray.lastIndexOf('apple', 3). У цьому прикладі пошук відбуватиметься від індексу 3.

Нотатка:

Метод lastIndexOf() є універсальним. Він очікує, що значення this міститиме властивість length і буде мати властивості з цілочисельними ключами.

Синтаксис

lastIndexOf(searchElement)
lastIndexOf(searchElement, fromIndex)

Параметри

*searchElement

Елемент, який потрібно знайти у масиві.

fromIndex

Індекс (перетворений у ціле число), з якого почати зворотній пошук, враховуючи індексацію з нуля.

  • Від'ємний індекс відлічується назад від кінця масиву — якщо fromIndex < 0, використовується fromIndex + array.length.
  • Якщо fromIndex < -array.length, пошук в масиві не проводиться, і повертається -1.
  • Якщо fromIndex >= array.length або fromIndex пропущено, використовується array.length - 1, що призводить до пошуку по всьому масиву.

Return

integer

Останній індекс серед знайдених елементів у масиві; -1, якщо елемент не знайдений.

Переглядачі

Переглядач

1

1.5

3

9.5

12

Переглядач

37

18

4

1

Переглядач

0.10.0

1.0

Приклади


Цей приклад використовує метод lastIndexOf() для пошуку останнього входження заданого елемента в масиві animals. Результати пошуку виводяться у відповідні елементи span на сторінці. Очікувані результати цього прикладу: індекс останнього входження 'Dodo' - 3, індекс останнього входження 'Tiger' - 1.

Приклад використовує lastIndexOf() для знаходження значень в масиві.

const numbers = [2, 5, 9, 2];
numbers.lastIndexOf(2); // 3
numbers.lastIndexOf(7); // -1
numbers.lastIndexOf(2, 3); // 3
numbers.lastIndexOf(2, 2); // 0
numbers.lastIndexOf(2, -2); // 0
numbers.lastIndexOf(2, -1); // 3

Приклад використовує lastIndexOf для знаходження всіх індексів входження елемента в заданому масиві, використовуючи push для додавання їх до іншого масиву при їх знаходженні.

const indices = [];
const array = ["a", "b", "a", "c", "a", "d"];
const element = "a";
let idx = array.lastIndexOf(element);
while (idx !== -1) {
  indices.push(idx);
  idx = idx > 0 ? array.lastIndexOf(element, idx - 1) : -1;
}

console.log(indices);
// [4, 2, 0]

Метод lastIndexOf() спочатку зчитує властивість length даного об'єкта, а потім отримує доступ до кожної властивості з ключем, який є не від'ємним цілим числом меншим за значення length.

const arrayLike = {
  length: 3,
  0: 2,
  1: 3,
  2: 2,
  3: 5, // проігноровано методом lastIndexOf(), оскільки length дорівнює 3
};

console.log(Array.prototype.lastIndexOf.call(arrayLike, 2));
// 2

console.log(Array.prototype.lastIndexOf.call(arrayLike, 5));
// -1