Cenator 🐈
Oleg
Условно в одну
дima
new Array(len).forEach(...
дima
не?
Oleg
map тогда уж
Oleg
Собственно задача то пройтись мапом по массиву трансформируя значение в объект
Oleg
Всё
Oleg
Либы не нужны
Dika
Cenator 🐈
с объектами так же просто?
Oleg
Ибо это почти как 2 числа сложить и та шутка с плагином джейквери для сложения
Oleg
А, если повторы тогда уже чуть сложнее
Dika
const arr = [1, 6, 6];
const arr2 = [];
const obj = {};
arr.forEach((el) => {
if (typeof obj[el] === "number") obj[el]++;
else obj[el] = 1;
});
Object.keys(obj).forEach((i) => {
arr2.push({ item: i, count: obj[i] });
});
console.log(arr2);
Dika
Как-то так
Oleg
Вот, с ходу вариант выше похож на правильное решение, но я не вчитывался
дima
как просто создать массив через функции? например
var arr = create(5, (i) => return {item: i})
дima
есть уже готовый метод в js?
Cenator 🐈
ладно, спасибо всем
Дима
Дима
Ну и это, того
Дима
#noobs
Group Butler [beta]
#noobs
pro.js.noobs -- https://t.me/joinchat/AAAAAD3Uyr3trzb9rRc77g
дima
спасибо большое
дima
Array.from([1,6,6], (v,i) => {return {item:v, count:i+1}})
дima
есть готовая либа, которая превращает массив вида [1,6,6] во что-то вроде
[ { item: 1, count: 1 }, { item: 6, count: 2 } ]
?
Dika
дima
знаю, что уже скорее всего решили, просто самому было интересно это решить в одну строчку
(arr=[1,6,6]).reduce((a,v,i)=>{if(arr.indexOf(v)==i)a.push({item:v, count:i+1});return a},[])
Oleg
👍
Андрей
Dika
дima
а должно?) в тз об этом ни слова)
дima
по крайней мерее те 3 сообщения
дima
в моем тоже)
Dika
@decrypth Нет. arr.indexOf тоже итерирует весь массив.
Андрей
Хотя вроде как есть groupBy
Cenator 🐈
Да, вроде оно
Cenator 🐈
Спс
George
Дима
Дима
Неактуально, как видишь
Андрей
А почему lodash не нужен?
дima
если не уверен, то скажи что не так
Дима
Неудобный, композицию функций с ним делать заманаешься, никакого point free тебе
Дима
Мутабельность везде
Дима
Ну и lodash-fp как странная пародия на рамду
George
В части 'count: i+1'. Какой смысл индекс увеличивать?
Maxim
какие есть хорошие gui для mongo?
Danil Á.
Maxim
спасибо
Danil Á.
Intellij idea
Maxim
для шторма плагин есть?
Oleg
Робомонго очень ок
Андрей
Дима
У него же есть chain
Это не то вообще
Плюс это сразу втащит тебе в бандл весь лодаш целиком без надежды на оптимизацию
Андрей
Андрей
Хотя ладно.
Дима
Нет, суть именно в том как устроен chain
Андрей
Я всё равно использую лодаш как приятную библиотечку функций.
Дима
Не оч приятную короче
Андрей
xDD
Андрей
Ладно)
Дима
Плюс рамда имеет второе дно, позволяя организовывать мощный интероп
Андрей
интероп с чем?
Дима
С чем угодно
Андрей
Хм...
Андрей
Ок, гляну рамбду.
Андрей
Уговорил.
Дима
Функция equals будет использовать с твоими объектами твой метод .equals, если ты его заимплментил
Дима
А так как все проверки на равенство в рамде используют equals, то uniq из неё например будет сразу работать как надо
Дима
То бишь, сделал класс, сказал как в нём делать проверку на равенство — всё из коробки взлетело
Дима
Та же тема с .map, .chain и тонной других методов
Anonymous
Есть тут кто живой?