170 похожих чатов

Как итерировать массив? #code_pattern Проводя интервью, я практикую live coding, то есть

решение простых задач со скриншарингом экрана. Так сразу видно пишет ли кандидат код на современном JavaScript.

Итерировать массив можно 4-мя способами:
1️⃣ for
for (let i = 0; i < arr.length; ++i) {
console.log(arr[i]);
}
2️⃣ forEach
arr.forEach((v, i) => console.log(v));
3️⃣ for in
for (let i in arr) {
console.log(arr[i]);
}
4️⃣ for of
for (const v of arr) {
console.log(v);
}

Упрощенный анализ показывают, что 1️⃣и 3️⃣ создают ненужную переменную, а 2️⃣– контекст ненужной функции. Поэтому при написание кода старайтесь использовать 4️⃣ for of.

Бенчмарки и глубокий анализ можно провести самостоятельно или нагуглить. Вместо этого я порекомендую добавить к себе в проект eslint правило disallow forEach. Это же можно сделать с помощью no-restricted-syntax и селектора CallExpression[callee.property.name="forEach"]

2 ответов

18 просмотров
Grigorii K.-Shartsev Автор вопроса

live coding - буквально "кодинг в прямом эфире"

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Блин, интересно, кто-нибудь когда-нибудь переписывал какую-нибудь игру с x86 на arm? Вообще, такое возможно?
Alan 🔝 Бэброу
12
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
I just installed it but how do I use it?
Talula
12
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Приветствую всех, возникла проблема, до этого писал бота в простом формате где при выполнении условий приходило через send_message информация, сейчас решил добавить хендлер на...
Andrew
4
Карта сайта