honey
const fruits = ['banana', 'apple', 'banana', 'banana', 'grape', 'watermelon', 'grape']; const uniqSortedDesc = arr => { const map = new Map(); fruits.forEach(fruit => { const current = map.get(fruit); if (current) { map.set(fruit, current + 1) } else { map.set(fruit, 1); } }); return [...map.keys()]; } console.log(uniqSortedDesc(fruits));
с мап и сет у меня пока так себе, я только помню, что с помощью сет можно оставить только уникальыне значения, но юзать его не решилась из-за того, что нужно было не только убрать дубли, но и подсчитать. наверное стоит к этому вернуться, блин...
Pavel
точнее незавершенное, отсутствует сортировка
🏴‍☠️
const uniqSortedDesc = arr => { const map = new Map(); fruits.forEach(fruit => { const current = map.get(fruit); current ? map.set(fruit, current + 1) : map.set(fruit, 1); }); return [...map].sort((a, b) => b[1] - a[1]).flatMap(item => item[0]) }
🏴‍☠️
я забыл про сортивку вчера в 5 ночи, сорян @Tasvetla ))
honey
я забыл про сортивку вчера в 5 ночи, сорян @Tasvetla ))
Ничего. У тебя столько же времени, сколько и у меня? 👀
honey
13:38?
🏴‍☠️
13:38?
12:38
honey
Ничего. У тебя столько же времени, сколько и у меня? 👀
Все равно я не помню что делает мап. Только то, что это вариант организации хранения данных, вроде, как массив и объект, только мап и сет (а ещё уикмап и уиксет)
honey
Может он создает пары ключей и значений
🏴‍☠️
Все равно я не помню что делает мап. Только то, что это вариант организации хранения данных, вроде, как массив и объект, только мап и сет (а ещё уикмап и уиксет)
объект Map работает быстрее объекта, если ты часто добавляешь/изменяешь/удаляешь данные. Еще мап сохраняет порядок добавленных элементов (объект может отсортировать под капотом). в качестве ключа можно использовать ф-ии, объекты
🏴‍☠️
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#objects_vs._maps
honey
Но если мап это набор ключей и значений, то как ты сортировал массив, в который ты развернул мап... Ведь нужно по значению сортировать, а там ещё ключ. То есть нужно сортировать по значению, а брать в результрубщий массив только ключ
honey
Типа обджект.ентриес что ли
honey
Каша какая-то
🏴‍☠️
Так это массив с подмассивами
такой массив получится из такой мапы, если ты вызовешь метод map.entries() или спредом раскатаешь в массив [...map] Map { 'banana' => 3, 'apple' => 1, 'grape' => 2, 'watermelon' => 1 } будет [ [ 'banana', 3 ], [ 'apple', 1 ], [ 'grape', 2 ], [ 'watermelon', 1 ] ]
honey
Каша какая-то
Это я про то что у меня в голове спуталось то что я знаю, вас это никак не касается Говоря про кашу я имела ввиду только то что у меня есть в голове, какие мысли у меня есть относительно текущих обсуждений
honey
Ух хд
honey
honey
Зато я сегодня закрыла все вопросы по джс свои
honey
Открыла короче документ и закрыла
honey
Шутка. Ответила все
honey
Как послю буду смотреть требования к вёрстке и начинать
honey
Сейчас посмотрю ещё раз
honey
Стоп. Почему ты в 5 утра в чат пишешь и джс объясняешь ? Тем более код
🏴‍☠️
Я уже легла спать
сейчас? сиеста ?)
honey
сейчас? сиеста ?)
Я чуть чуть, сколько надо )))
🏴‍☠️
Стоп. Почему ты в 5 утра в чат пишешь и джс объясняешь ? Тем более код
иногда сижу допоздна после кофе/крепкого пуэра)
honey
Видимо дело в том, что я не посмотрела, как работает метод гет у мапы
honey
Так, ладно, после верстки или в свободное время
honey
Мне просто интересно задачку было попробовать сделать
Pavel
const fruits = ['banana', 'apple', 'banana', 'banana', 'grape', 'watermelon', 'grape'] const uniqSortedDesc = arr => { const map = {} arr.forEach(element => { map[element] = ++map[element] || 1 }) return Object.keys(map).sort((a, b) => map[b] - map[a]) } console.log(uniqSortedDesc(fruits));
Pavel
это без Map
honey
honey
Проверено
honey
А тут я не знала как сортировать значения и при этом забирать ключ)
honey
А ты сделал
Pavel
решение задачек с Люпусом на codewars дает свои плоды 🙃
Pavel
был один жутко умный парень в чате, который очень любил решать задачки
Pavel
еще когда я только начинал учиться
honey
Ну что ж, понятно
honey
Надеюсь у меня так тоже будет со временем получаться (с практикой я имею ввиду ) А то как решать то я, может быть, и придумаю, и даже решу, но вот как проще и короче сделать - это уже отдельное
honey
Выглядит как соколиная высота Потому что я не совсем понимаю, что нужно делать чтобы тоже так уметь
honey
Если с версткой более или менее понятно что делать, с джс тоже
honey
Для меня это выглядит как чувство стиля какое-то Я могу одеться чтобы было тепло, надеть колготки, штаны, и 15 кофт А можно подумать и выбрать материал в котором будет тепло также, только он будет менее громоздким (но таким же функциональным) И в данном случае я не совсем понимаю как именно подумать, в какую сторону Методы массивов и объектов выучить - да вряд-ли, но некоторые часто используемые лишними не будут. Может дело просто в том, чтобы знать несколько решений, тип "можно так решить", "а можно эдак".. и чтобы эти решения в голове всплывали возможно стоит их использовать чаще
honey
honey
Ладно, я спатеньки
honey
Доброго всем дня
Pavel
ты когда видишь красивое решение, старайся понять как именно его решили и почему так, тогда со временем у тебя будут эти решения тоже всплывать в голове
🏴‍☠️
Хорошо, тогда нужно будет смотреть как работает то, что эти люди используют ;)
Разбивай решения на шаги и выводи в консоль промежуточные результаты и поймешь как работает алгорим
🏴‍☠️
Еще можно воспользоваться дебаггером и расставить брейкпоинты
🏴‍☠️
https://developer.chrome.com/docs/devtools/javascript/sources/#debug
honey
Разбивай решения на шаги и выводи в консоль промежуточные результаты и поймешь как работает алгорим
Я так обычно свое и проверяю, если что-то ломается/не работает, так что думаю вопрос только в желании (и времени)
honey
honey
Брекпоинтами, кстати, пользовалась только в начале самом, когда училась парсеры писать И то ооочень мало. А режимом дебага вот недавно ) оказывается, удобно в вс коде через режим дебага вёрстку делать :D В хроме открывается вкладка и обновляется себе, пока я код пишу, здорово* так!
Hide
Читер!
Hide
Я так размеры подгоняю )
Hide
И расположение блоков
🏴‍☠️
пиксель перфект так подгонять
Hide
Чето я с ним не подружился ещё с этим пикселем )
Pavel
Китайские акции сегодня выросли 🙃
Pavel
Немного бесполезной информации вам)
Pavel
Да, понемногу начинаю
🏴‍☠️
Да, понемногу начинаю
В какие компани сейчас выгодно вложиться?)
Pavel
Ты думаешь я вижу будущее?)