Задача с frontend собеседования: Class Names | Разбор решения на JS


Дата: 19.06.2020 15:35:51 Просмотров: 20922 Длительность: 10:13
Поделиться:

Категории: Познавательное
Задача с frontend собеседования: Class Names | Разбор решения на JS фото

В этом видео мы с вами рассмотрим решение задачи про Class Names. Это одна из реальных задач, которую нашей команде пришлось реализовывать при разработке поиска Яндекса.

В последствии эту задачу мы немного упростили и давали на собеседованиях. У неё есть различные способы решения. В этом видео мы разберём один из них. А какие получились у вас? Оставляйте свои варианты внизу в комментариях.

---

Код решения:

---

Другие задачи с Front-end собеседований:

- Palindrome:

- FindVowels:

- FizzBuzz:

- Anagram:

- Class Names:

- Currencies:

---

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

Подписывайтесь на наш канал:

---

Присоединяйтесь к нам в соцсетях:

FB:

Telegram: _science

Instagram Сергея Пузанкова:

Заходите на наш сайт:

Написать комментарий




Комментарии

Ниска Де
10.06.2020 00:05:48
Мне тоже на тестировании задавали такую задачу. Ее можно решить гораздо проще, почти в одну строчку:for(let item of classNames) {classNamesCount[item] = ++classNamesCount[item] || 1}
Дима Хван
17.04.2020 04:09:34
Слышал про задачу о банкомате. Будет очень классно, если разберете её или подобную задачу.
Ekaterina Sheleveister
27.04.2020 15:35:21
let classNames = [ 'header', 'menu', 'menu-item', 'menu-item', 'menu-item', 'footer', 'menu', 'link', 'link', 'link', 'link'];const classNamesObj = classNames.reduce((acc, item) => { acc[item] = acc[item] + 1 || 1; return acc;}, {});const result = Object.keys(classNamesObj).sort((a, b) => classNamesObj[b] - classNamesObj[a]);
Назар Калитюк
02.05.2020 04:01:46
понятно, что чем меньше длина класса, тем меньше файлы html,css,js но насколько? Не думаю что это сильно добавить скорости. Да и в практике не видел такого нигде. Хотя сейчас везде компоненты, инкапсуляция и тд, поэтому и бэм не нужен с длинными именами
Андрей
24.03.2020 11:39:04
Мое решение в котором добавил еще и генерацию алиасов для классов: codesandbox.io/s/silly-euler-c6qep. Оптимизации там нет, но если функция запускается раз в час или день, она там и не нужна особо
Alim Shogenov
15.06.2020 18:41:23
function filt(arr) { let obj = {}; arr.forEach((el) => { let count = 0; arr.forEach((el1) => { if (el === el1) {count++;} }) obj[el] = count; }) let res = []; for (let key in obj) { if (obj[res[0]] < obj[key]) res.unshift(key) else res.push(key); } return res;}
Front-end Science
25.03.2020 03:50:04
Друзья, поделитесь вашим решением задачи в комментариях! Любому разработчику интересно и полезно смотреть альтернативные решения коллег.
Еще по теме
© 2019video.ru