diff options
author | Roma Zvarich <hisbvdis@gmail.com> | 2022-01-28 22:19:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-29 03:19:48 +0700 |
commit | b9ea89d87d177efe9b4e1610d4916f2e1146bbd7 (patch) | |
tree | 77e34763e82105e7ef593af255ee2ff1abc0222d /files/ru/web/javascript/reference/global_objects | |
parent | 0bc7d3cea5adc620baf2a14320e83c4f260c2454 (diff) | |
download | translated-content-b9ea89d87d177efe9b4e1610d4916f2e1146bbd7.tar.gz translated-content-b9ea89d87d177efe9b4e1610d4916f2e1146bbd7.tar.bz2 translated-content-b9ea89d87d177efe9b4e1610d4916f2e1146bbd7.zip |
Array method 'at()' (#3875)
* Array method 'at()'
* Quotes
* Title id
* Update files/ru/web/javascript/reference/global_objects/array/at/index.md
* Update files/ru/web/javascript/reference/global_objects/array/at/index.md
Co-authored-by: Alexander Myshov <myshov@users.noreply.github.com>
Diffstat (limited to 'files/ru/web/javascript/reference/global_objects')
-rw-r--r-- | files/ru/web/javascript/reference/global_objects/array/at/index.md | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/array/at/index.md b/files/ru/web/javascript/reference/global_objects/array/at/index.md new file mode 100644 index 0000000000..01830b0ebf --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/array/at/index.md @@ -0,0 +1,99 @@ +--- +title: Array.prototype.at() +slug: Web/JavaScript/Reference/Global_Objects/Array/at +tags: + - Array + - JavaScript + - Method + - Prototype + - Reference + - polyfill + - at + - Experimental + - Polyfill +browser-compat: javascript.builtins.Array.at +--- +{{JSRef}} + +Метод **`at()`** принимает значение в виде целого числа и возвращает элемент массива с данным индексом. В качестве аргумента метод принимает положительные и отрицательные числа. При отрицательном значении отсчёт происходит с конца массива. + +Получение элементов массива с помощью квадратных скобок по-прежнему остаётся корректным способом. Например, `array[0]` вернёт первый элемент. Однако, при работе с элементами в конце массива больше нет необходимости прибегать к {{jsxref('Array.prototype.length','array.length')}}. Например, для получения последнего элемента, вместо `array[array.length-1]` можно вызвать `array.at(-1)`. [(Смотрите примеры ниже)](#примеры) + +{{EmbedInteractiveExample("pages/js/array-at.html")}} + +## Синтаксис + +```js +at(index) +``` + +### Параметры + +- `index` + - : Индекс (позиция) элемента возвращаемого элемента массива. При передаче отрицательного индекса применяется относительная индексация с конца массива; например, при использовании отрицательного числа, возвращаемый элемент находится путём обратного отсчёта с конца массива. + +### Возвращаемое значение + +Элемент массива, соответствующий переданному индексу. Если переданный индекс не может быть найден, возвращает {{jsxref('undefined')}}. + +## Примеры + +### Возврат последнего элемента массива + +В следующем примере представлена функция, которая возвращает последний элемент переданного массива + +```js +// Массив со значениями +const cart = ['apple', 'banana', 'pear']; + +// Функция, которая возвращает последний элемент переданного массива +function returnLast(arr) { + return arr.at(-1); +} + +// Получить последний элемент нашего массива 'cart' +const item1 = returnLast(cart); +console.log(item1); // Выведет: 'pear' + +// Добавить элемент в наш массив 'cart' +cart.push('orange'); +const item2 = returnLast(cart); +console.log(item2); // Выведет: 'orange' +``` + +### Сравнение методов + +В этом примере сравниваются разные способы выбора предпоследнего элемента {{jsxref('Array', 'массива')}}. Хотя все приведённые ниже способы являются допустимыми, наиболее кратким и наглядным является использование метода `at()`. + +```js +// Наш массив с элементами +const colors = ['red', 'green', 'blue']; + +// Использование свойства 'length' +const lengthWay = colors[colors.length-2]; +console.log(lengthWay); // Выведет: 'green' + +// Использование метода slice(). Обратите внимание, что возвращается массив +const sliceWay = colors.slice(-2, -1); +console.log(sliceWay[0]); // Выведет: 'green' + +// Использование метода at() +const atWay = colors.at(-2); +console.log(atWay); // Выведет: 'green' +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- Полифил `Array.prototype.at` в библиотеке [`core-js`](https://github.com/zloirock/core-js#relative-indexing-method) +- [Полифил для метода at()](https://github.com/tc39/proposal-relative-indexing-method#polyfill). +- {{jsxref("Array.prototype.find()")}} – возвращает значение на основании проверки. +- {{jsxref("Array.prototype.includes()")}} – проверяет наличие значения в массиве. +- {{jsxref("Array.prototype.indexOf()")}} – возвращает индекс переданного элемента. |