Maksim
да там вообще reduce похоже не нужен, зачем-то цепочка выстраивается промисов, она там не нужна
Pavel
reduce((sequence, chapterPromise) => {return sequence.then(() => {return chapterPromise;})})у тебя эта штука возвращает не массив промисов а последний промис
Pavel
а Promise.all ожидает получить массив
Pavel
А чего ты вообще хотел редюсером добиться?
Dima
reduce((sequence, chapterPromise) => {return sequence.then(() => {return chapterPromise;})})у тебя эта штука возвращает не массив промисов а последний промис
задумка была сделать промис с паралельным выполнением, с началом выполнения когда один промис хотябы подготовится
vindi
var p1 = new Promise(function(resolve, reject) { console.log('первый промис'); setTimeout(resolve, 500, "один"); }); var p2 = new Promise(function(resolve, reject) { console.log('ВТОРОЙ промис'); setTimeout(resolve, 100, "два"); }); Promise.race([p1, p2]).then(function(value) { console.log(value); // "два" // Оба вернули resolve, однако p2 вернул результат первым });
vindi
не выдумывайте костылей, с "начать чтото когда исполнится один" вполне справляется конструкция promise.race
vindi
как видим тела промисов исполнились, несмотря на то что вывелся итог только одного
Dima
Ок всем спасибо я просто почитал статью и решил попробовать https://frontender.info/promises/
NoName
Подскажите, почему получается true, если там есть маленькая буква console.log((/^[0-9A-Z]{12}$/i).test('SS8LIH8434v5'));
Dima
Объясните мине хакеру рубическому динамику жсной жизни. Почему когда я пишу console.log(Array(2).map(x=>5)) я получаю пустой массив, а когда я пишу console.log(Array(2).fill(5)) я получаю то что мне надо [5,5]. И когда я пишу console.log(Array(2).fill(5).map(x=>7)) я уже получаю [7,7]. MAP что undefined не считает за значение?
Dima
Что за подгоны такие? разве это по понятиям? Array(2) => он же создает массив с 2 мя чего то, как говорят у нас в Ruby Noghtin is something
Dima
Почему Array(2).map(x=>console.log(1)) ничего не выводит?
Anton
Почему Array(2).map(x=>console.log(1)) ничего не выводит?
массив пустой. к нему не применяются методы обхода
Dima
массив пустой. к нему не применяются методы обхода
Поделись статьей, где это все описано.
Dima
Array(2) !== [unedfined, undefined] как Вы написали
я благодарен за ваши ответы, может быть у вас есть статья где освещается этот вопрос досканально.
🦜
Поделись статьей, где это все описано.
https://www.ecma-international.org/ecma-262/7.0/#sec-array-len
Dima
чтоб я не задавал в чат
Dima
а вот
Dima
спаибо
Anton
прям статьи на эту не помню. но идея в том, что если в массиве заданы значения, то можно ее проходить. если значений нет, то проходить нельзя по факту значения там указываются как "empty" a = [1,2,3] a.length = 10; b = 0; a.forEach(() => b++); // b === 3
Anton
точно так же Array(n) создает массив, но без значений
Anton
можно написать Array.from({ length: n }) - тогда будет массив со значениями
Dima
можно написать Array.from({ length: n }) - тогда будет массив со значениями
а зачем тут destructuring? или объект. Пойду почитаю Array.from это интересно.
Dima
можно написать Array.from({ length: n }) - тогда будет массив со значениями
а где ты такой синтаксис нашел? он работчий но я его в статье не нахожу https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from
Dima
тут я еще одно решение нашел [...Array(2)] ==> [undefined, undefined]
Anton
а где ты такой синтаксис нашел? он работчий но я его в статье не нахожу https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from
где-то встретил. запомнилось логика примерно следующая - объект берется как массив и из него по индексу (от 0 до length) вытаскиваются значения работает даже так Array.from('012345')
Anton
и так [...'012345']. js вообще занимательная фигня
vindi
splat ? разве не spread ?
Danil
когда сайт стоматологии делаешь, то splat
Anton
у нас спред, у них сплат
Dima
у нас спред, у них сплат
Точно. В Ruby такой синтаксис зовется splat в JS зовется spread
Dima
правлиьней сказать такая симантика
Anton
блин, их кунг-фу круче нашего
Dima
блин, их кунг-фу круче нашего
Вобще я против деленй мы они. Хороший разработчик использует несколько языков.
Maksim
spread это наоборот когда собираешь
Dima
хорошо что уточнили, а то я всё splat звал.
Dima
везде :)
Artem
гайс, есть смысл заменять рекурсию для обхода дерева генераторами ?
Artem
Замени рекурсию на while
? как мне это поможет в вложенной структуре
Илья
а какая разница ? вложеная или нет, рекурися это просто удобно порой, while на много быстрей отрабатывает
Dima
? как мне это поможет в вложенной структуре
Есть же условие вот пока условие работает делай while
Artem
Есть же условие вот пока условие работает делай while
пока условие работает, вызывать рекурсию для обхода дерева ?
Artem
так оно и происходит,просто условие вшито в рекурсию
Dima
Ну это же условие в while и это будет быстрее и не так ресурсоемко.
Artem
спасибо
Dima
спасибо
typeof user[key] !== 'object' Может натолкнет на мысль
Бислан
гайс, есть смысл заменять рекурсию для обхода дерева генераторами ?
Читабельность кода превыше всего. Делай, исходя из этого. Перфоманс дело десятое
Denis
Я тебя всюду ищу
Denis
Читабельность это вкусовщина. Но ты все равно прав.
Alex
Читабельность кода превыше всего. Делай, исходя из этого. Перфоманс дело десятое
а как же скорость загрузки страниц, если это фронт, например
Alex
чем больше вес страницы и дофига всего, тем дольше ее рендер и загрузка
Artem
у меня орг структура с большой вложенностью. читабельный код это хорошо, но скорость важнее.да,это фронт
Alex
я обычно пережимаю все в конце разработки, сохранив копию не сжатого формата
Dmitry
Народ. Вот так падает аксиос. Встречал кто?
Dmitry
Видали такую хуйню?
Alexey
ага, постоянно вижу как вместо скрина кидают снимок с телефона
Dmitry
Просто рофлер
Denis
ага, постоянно вижу как вместо скрина кидают снимок с телефона
ну эт наверное у тех, кто на винде без хоткеев для скрина, или кто с мобилки в телеге сидит)
Pavel
Просто рофлер
win + shift + S command + shift + 3/4
Denis
о, а я думал там все еще prinscreen надо нажимать и вставлятиь в пэинт, а потом bmp конвертить в жпег :D
Alex
долбаните кто нибудь спам и еще 02 надо написать))
Anonymous
hello JS-шники