Анатолий
В пш такое есть, очень радует душу, в других языках постоянно не хватает :(
Анатолий
Чтобы свич оператор возвращал выбираемое значение
Dmitry
Можешь спросить у тех, кто ханимается стандартом es
Dmitry
Мы-то откуда знаем
Анатолий
так сделай свое
а как заполифиллить оператор?
Lupusregina[beta]
а как заполифиллить оператор?
не оператор, функцию которая бы делала это
Artyom
а как заполифиллить оператор?
Написать плагин для Babel-а же. Только с подсветкой и линтером траблы будут.
Анатолий
хм, надо покопать, вдруг уже что-то такое придумали
Анатолий
и с продвинутым паттерн матчингом типа <5, 1...10 и так далее
Lupusregina[beta]
хм, надо покопать, вдруг уже что-то такое придумали
const switchExpr = (val, map, def) => Object.keys(map).includes(val) ? map[val] : def;
Lupusregina[beta]
Анатолий
😃 то что надо, спасибо
Anonymous
Всем привет, пишу класс на js управление чатом
Anonymous
Anonymous
как мне в message_add добираться до функций класса Chat
Anonymous
получаеться что в функции message_add в this уже обьект события
Anonymous
как быть посоветуйте
Alex
используйте стрелочную функцию
Anonymous
я не сильно силен в js
Anonymous
это мне ее вне класса писать??
Alex
this.chat.on('submit', () => this.message_add);
Alex
вроде так
Anonymous
аа спасибо попробую
Sergey
В цикле на 12 итераций вызываю запрос, прилетают промисы - резолвлю их и пушу содержимое в массив, как дождаться окончания запроса? Что не пишу после этого цикла ничего не успевает должаться зполнения массива...
Sergey
Если в .then() пишу, то вижу результат каждого резолва, но мне надо конечный массив с 12 элементами.
Alex
лучше не в цикле такие запросы делать а батчем
Sergey
Там именно 12 запросов надобно
Sergey
Я сделал по дураццки, с условием если длина результирующего массива равна 12.
Alex
с какой целью?
Alex
так никто не мешает и дальше массив использовать
Sergey
Это и есть цель, 12 запросов)
Sergey
Все операции дальнейшие из-за ассинхронности не дожидаются пока массив заполнится...
Alex
просто делать 12 реквестов (я так понимапю под запросами имелось ввиду реквесты), это неверно
Anonymous
используйте стрелочную функцию
() => { this.message_add() } - вот так по сути вышло
Alex
так не считаете?
Alex
ну ладно await func1 await func2 ... await func12 разве не дает нужно результата?
⇺Goga⇻
ребят, почему event.code не работает на мобилках?
⇺Goga⇻
будт то событие keypress, keydown, keyup... постоянно 229 и undifined
Xaxashutkin
Мне кажется у мобилок другие ивенты, вернее другие проперти
Sergey
ну ладно await func1 await func2 ... await func12 разве не дает нужно результата?
await ждёт каждого запроса, аналог then, а мне надо именно конечный
Xaxashutkin
не знаешь, какие?
Не сталкивался, знал бы - подсказал бы
Alex
await ждёт каждого запроса, аналог then, а мне надо именно конечный
т.е. func2 должен стартовать только после func1? и т.д.
Alex
Promise all
ну да, если все подождать
Sergey
Promise all
Я так понял это работает если вызвать конструктор Promise
Xaxashutkin
Promise.all([масив промисов])
Sergey
http://prntscr.com/ojffli
Xaxashutkin
Зачем 12 раз вызывать одно и тоже?
Sergey
getData делает запрос, я её ток вызываю
Sergey
Симуляция
Sergey
Там разное время
Xaxashutkin
Мне кажется ты делаешь хуйню Сергей Лучше обрисуй задачу
Sergey
Загрузить 12 элементов, отсортировать и вывести
Sergey
Вроде просто, но из-за ассинхронности не понимаю как дождаться окончания...
Xaxashutkin
const promises = Array(12).fill('').map( () => getData()); Promise.all(promises).then(results => делай свою сортировку)
Daniil
привет бандиты, как реализовать класс HashMap, не используя встроенные объекты JavaScript ( {} ) или функцию map()
Lupusregina[beta]
привет бандиты, как реализовать класс HashMap, не используя встроенные объекты JavaScript ( {} ) или функцию map()
class HashMap { constructor() { this.keys = []; this.values = []; } has(key) { key = `${key}`; return this.keys.includes(key); } get(key) { key = `${key}`; return this.values[ this.keys.indexOf(key) ]; } set(key, value) { key = `${key}`; const i = this.keys.indexOf(key); if ( i < 0 ) { this.keys.push(key); this.values.push(value); } else { this.values[i] = value; } } del(key) { key = `${key}`; const i = this.keys.indexOf(key); if ( i < 0 ) return false; this.keys.splice(i, 1); this.values.splice(i, 1); return true; } }
Daniil
ооо спасибо!!
Daniil
а то голова уже не работает
Lupusregina[beta]
можно еще хешь таблицу добавить
Lupusregina[beta]
или дерево
Daniil
да
Daniil
я через дерево
Daniil
попробую
Lupusregina[beta]
хешь таблица проще
Andrew
это не совсем HashMap)
Andrew
тут 1 к 1 (ключ велью)
Lupusregina[beta]
попробую сделать с таблицей
Daniil
а я тогда через дерево