STARTPOINT_DEV Telegram 120
Я уже давно работаю во фронтенде, но все равно периодически забываю о том, что в JavaScript появляются новые удобные инструменты. Так, я заметила, что упускаю из виду Map и Set.

Для тех, кто так же, как и я, забывает про них, напомню:

- Map похож на обычный объект, с той разницей, что в качестве ключа в нем можно использоваться вообще любой тип, в том числе функцию или объект
- а Set позволяет хранить множество уникальных значений, то есть сколько бы раз вы не выполнили set.add() с одним и тем же значением, фактически оно будет добавлено только один раз

У обоих сущностей есть метод has(), который позволяет проверять наличие ключа (в случае Map) или значения (в случае Set).

Если мы хотим добавить элемент, когда его нет, или удалить, когда он есть, то вот как можно было бы написать это в обычном массиве:


const index = allValues.indexOf(currentValue);

if (index === -1) {
allValues.push(currentValue);
} else {
allValues.splice(index, 1);
}


А вот как в Set:


if (allValues.has(currentValue)) {
allValues.add(currentValue);
} else {
allValues.delete(currentValue);
}


Согласитесь, что второй пример читается гораздо понятнее, уже не говоря о производительности.

Все это наводит меня на мысль, что, хоть в разработке и важно следить за обновлениями, но не зазорно упускать какие-то моменты. Главное - хотя бы постфактум замечать и использовать это.
🔥3



tgoop.com/startpoint_dev/120
Create:
Last Update:

Я уже давно работаю во фронтенде, но все равно периодически забываю о том, что в JavaScript появляются новые удобные инструменты. Так, я заметила, что упускаю из виду Map и Set.

Для тех, кто так же, как и я, забывает про них, напомню:

- Map похож на обычный объект, с той разницей, что в качестве ключа в нем можно использоваться вообще любой тип, в том числе функцию или объект
- а Set позволяет хранить множество уникальных значений, то есть сколько бы раз вы не выполнили set.add() с одним и тем же значением, фактически оно будет добавлено только один раз

У обоих сущностей есть метод has(), который позволяет проверять наличие ключа (в случае Map) или значения (в случае Set).

Если мы хотим добавить элемент, когда его нет, или удалить, когда он есть, то вот как можно было бы написать это в обычном массиве:


const index = allValues.indexOf(currentValue);

if (index === -1) {
allValues.push(currentValue);
} else {
allValues.splice(index, 1);
}


А вот как в Set:


if (allValues.has(currentValue)) {
allValues.add(currentValue);
} else {
allValues.delete(currentValue);
}


Согласитесь, что второй пример читается гораздо понятнее, уже не говоря о производительности.

Все это наводит меня на мысль, что, хоть в разработке и важно следить за обновлениями, но не зазорно упускать какие-то моменты. Главное - хотя бы постфактум замечать и использовать это.

BY Настя Котова // Frontend & Node.js


Share with your friend now:
tgoop.com/startpoint_dev/120

View MORE
Open in Telegram


Telegram News

Date: |

On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." Deputy District Judge Peter Hui sentenced computer technician Ng Man-ho on Thursday, a month after the 27-year-old, who ran a Telegram group called SUCK Channel, was found guilty of seven charges of conspiring to incite others to commit illegal acts during the 2019 extradition bill protests and subsequent months. Informative A few years ago, you had to use a special bot to run a poll on Telegram. Now you can easily do that yourself in two clicks. Hit the Menu icon and select “Create Poll.” Write your question and add up to 10 options. Running polls is a powerful strategy for getting feedback from your audience. If you’re considering the possibility of modifying your channel in any way, be sure to ask your subscribers’ opinions first. Users are more open to new information on workdays rather than weekends.
from us


Telegram Настя Котова // Frontend & Node.js
FROM American