#фишка дня
Мне тут сообщили, что в 92 Хром и в 90 Фаерфокс с пылу с жару завезли метод Array.prototype.at(). Передаёте в at индекс элемента массива и получаете его значение, собственно.
Я сижу и честно говоря не очень понимаю, зачем он так сильно всем нужен.
Если коротко, то при передаче положительного числа, он работает точно так же, как и . Т. е.
Веселье заключается в том, что at поддерживает отрицательные значения индекса. И вы правильно догадались, они отсчитывают значения элементов с хвоста.
Последний элемент имеет индекс -1.
Т. о. то, что раньше писалось как
Собеседник сказал, что от первого варианта пахнет языком Си 🧐. По-моему так от обоих.
А каково ваше мнение?
#js #array
Мне тут сообщили, что в 92 Хром и в 90 Фаерфокс с пылу с жару завезли метод Array.prototype.at(). Передаёте в at индекс элемента массива и получаете его значение, собственно.
Я сижу и честно говоря не очень понимаю, зачем он так сильно всем нужен.
Если коротко, то при передаче положительного числа, он работает точно так же, как и . Т. е.
arr[2]
и arr.at(2)
оба вернут третий элемент. Веселье заключается в том, что at поддерживает отрицательные значения индекса. И вы правильно догадались, они отсчитывают значения элементов с хвоста.
Последний элемент имеет индекс -1.
Т. о. то, что раньше писалось как
arr[arr.length - 1]
теперь пишется как arr.at(-1)
. Ну и так далее. Собеседник сказал, что от первого варианта пахнет языком Си 🧐. По-моему так от обоих.
А каково ваше мнение?
#js #array
MDN Web Docs
Array.prototype.at() - JavaScript | MDN
The at() method of Array instances takes an integer value and returns the item at that index, allowing for positive and negative integers. Negative integers count back from the last item in the array.
#фишка дня
Как удалить дубликаты из массива?
Да просто используйте встроенный объект Set. Суть, математическое множество.
Как правильно заметили в комментариях, в современном JS/TS это превращается в:
Как удалить дубликаты из массива?
Да просто используйте встроенный объект Set. Суть, математическое множество.
Как правильно заметили в комментариях, в современном JS/TS это превращается в:
const uniqCities = […new Set(cities)]
#js #set #array #duplicates#справочник дня
Знаете, какой мой любимый вопрос на собеседовании?
Сначала ответьте, а потом идите сюда: https://doesitmutate.xyz/
Вы удивитесь какое число людей отвечают неверно и/или не знают, какие методы массивов мутируют исходный массив.
Иногда можно и нарваться.
#js #array #mutation
Знаете, какой мой любимый вопрос на собеседовании?
const a = [2, 3, 1];
const b = a.sort();
console.log(a);
Сначала ответьте, а потом идите сюда: https://doesitmutate.xyz/
Вы удивитесь какое число людей отвечают неверно и/или не знают, какие методы массивов мутируют исходный массив.
Иногда можно и нарваться.
#js #array #mutation
#фишка дня
Новинки ESNext в stage 3 (короче, почти-почти): новые методы массива groupBy и groupByToMap.
На скриншоте прекрасно видно, для чего нужны. Больше не надо изголяться с reduce.
Уже доступны в полифилле core-js: https://github.com/zloirock/core-js#array-grouping
Скоро залетят и в TypeScript.
#js #array #esnext
Новинки ESNext в stage 3 (короче, почти-почти): новые методы массива groupBy и groupByToMap.
На скриншоте прекрасно видно, для чего нужны. Больше не надо изголяться с reduce.
Уже доступны в полифилле core-js: https://github.com/zloirock/core-js#array-grouping
Скоро залетят и в TypeScript.
#js #array #esnext
#фишка дня
Один из моих любимых вопросов на собеседованиях был про поведение
Вы не представляете какое количество людей просто не задумывается о том, что
Да, в большинстве случаев ничего страшного не произойдёт, но в остальных — будет неприятно.
Так вот, к чему это я. С выходом Firefox 115 в июле этого года мы получили иммутабельные методы работы с массивами во всех браузерах:
Если что,
Есть и полифиллы на core-js, так что без работы никто не останется.
И это прекрасно.
#js #array #sort
Один из моих любимых вопросов на собеседованиях был про поведение
Array.prototype.sort()
.Вы не представляете какое количество людей просто не задумывается о том, что
sort
— мутирующий метод, то есть он возвращает не новый массив, а ссылку на изменённый текущий.Да, в большинстве случаев ничего страшного не произойдёт, но в остальных — будет неприятно.
Так вот, к чему это я. С выходом Firefox 115 в июле этого года мы получили иммутабельные методы работы с массивами во всех браузерах:
.toReversed()
.toSorted()
.toSpliced()
.with()
Если что,
with
— это про замену элементов по индексам.Есть и полифиллы на core-js, так что без работы никто не останется.
И это прекрасно.
#js #array #sort
#фишка дня
Один из моих любимых вопросов на собеседованиях был про поведение
Вы не представляете какое количество людей просто не задумывается о том, что
Да, в большинстве случаев ничего страшного не произойдёт, но в остальных — будет неприятно.
Так вот, к чему это я. С выходом Firefox 115 в июле этого года мы получили иммутабельные методы работы с массивами во всех браузерах:
Если что,
Есть и полифиллы на core-js, так что без работы никто не останется.
И это прекрасно.
#js #array #sort #бородач
Один из моих любимых вопросов на собеседованиях был про поведение
Array.prototype.sort()
.Вы не представляете какое количество людей просто не задумывается о том, что
sort
— мутирующий метод, то есть он возвращает не новый массив, а ссылку на изменённый текущий.Да, в большинстве случаев ничего страшного не произойдёт, но в остальных — будет неприятно.
Так вот, к чему это я. С выходом Firefox 115 в июле этого года мы получили иммутабельные методы работы с массивами во всех браузерах:
.toReversed()
.toSorted()
.toSpliced()
.with()
Если что,
with
— это про замену элементов по индексам.Есть и полифиллы на core-js, так что без работы никто не останется.
И это прекрасно.
#js #array #sort #бородач
#фишка дня
Как получить последний элемент массива?
Можно посчитать длину массива минус один, чтобы получить нужный индекс.
Можно сделать array.slice(-1) и взять нулевой элемент получившегося массива.
А можно воспользоваться сравнительно новым методом Array.prototype.at! Ну, уже два года как в продакшене. И полифилл давно есть.
Весьма удобно, я считаю.
#javascript #array
Как получить последний элемент массива?
Можно посчитать длину массива минус один, чтобы получить нужный индекс.
Можно сделать array.slice(-1) и взять нулевой элемент получившегося массива.
А можно воспользоваться сравнительно новым методом Array.prototype.at! Ну, уже два года как в продакшене. И полифилл давно есть.
Весьма удобно, я считаю.
#javascript #array
#фишка дня
Один из моих любимых вопросов на собеседованиях был про поведение
Вы не представляете какое количество людей просто не задумывается о том, что
Да, в большинстве случаев ничего страшного не произойдёт, но в остальных — будет неприятно.
Так вот, к чему это я. С выходом Firefox 115 в июле 2023 года мы получили иммутабельные методы работы с массивами во всех браузерах:
Если что,
Есть и полифиллы на core-js, так что без работы никто не останется.
И это прекрасно.
#js #array #sort #бородач
Один из моих любимых вопросов на собеседованиях был про поведение
Array.prototype.sort()
.Вы не представляете какое количество людей просто не задумывается о том, что
sort
— мутирующий метод, то есть он возвращает не новый массив, а ссылку на изменённый текущий.Да, в большинстве случаев ничего страшного не произойдёт, но в остальных — будет неприятно.
Так вот, к чему это я. С выходом Firefox 115 в июле 2023 года мы получили иммутабельные методы работы с массивами во всех браузерах:
.toReversed()
.toSorted()
.toSpliced()
.with()
Если что,
with
— это про замену элементов по индексам.Есть и полифиллы на core-js, так что без работы никто не останется.
И это прекрасно.
#js #array #sort #бородач