Anonymous
(a+'') можно сделать читаемым: String(a)
Можно, сдесь сейчас задача сделать корректно, потом красиво, а затем уже быстро
Anonymous
но это не решает проблему -Infinity и Infinity.
Нет, не решает, в общем, кому интерестно подхватить эстафету - вперед) Я честно считаю сортировать смешанный масивы да и сами по себе смешанные массивы паршивой идеей
Anonymous
Object.create(null) сунь.
Да я же, вроде и не отрицал, что просто это не сделать)
Anonymous
Короче ставьте фильтр filter(Number) перед сортировкой
Nikita
😉
Nikita
На пару сотен строчек.
Maksim
Короче ставьте фильтр filter(Number) перед сортировкой
но тогда все строки улетят в зазеркалье.
Nikita
И чтобы потом его во фронт тащили десять зависимостей.
Maksim
https://github.com/parro-it/awesome-micro-npm-packages
Anonymous
Ага. А потом опубликовать модуль-который-как-то-сортирует-всё-что-угодно на нпм.
самое смешное, что по дефолту .sort() который использует alphabetical сортировщик типа должен быть универсальным =) Но это чудовищный случай в спецификации js
Anonymous
но тогда все строки улетят в зазеркалье.
Если нужны строки, фильтруй уже строки, сортируй и сшивай потом, если будет такая необходимость
Dmitry
Всем привет. Напомните, каким оператором в css задать стили конкреному тегу?
Anonymous
а чем он не универсальный? и почему чудовищный
Сортировать Object.create(null) не может, числа сортирует не верно, так как превращает их в строки.
Dmitriy
Сортировать Object.create(null) не может, числа сортирует не верно, так как превращает их в строки.
так это же по умолчанию. В коллбеке сорта можно же творить все что захочешь, сортировать и объекты и числ и строки и все что душе вздумается. ИЛи речь идет именно о дефолтном поведение без коллбека?
Dmitriy
Мы по моему уже выяснили, что отсортировать смешанный массив это тот еще ребус
да, ребус, но это же возможно=) значит сорт можно назвать универсальным
Anonymous
да, ребус, но это же возможно=) значит сорт можно назвать универсальным
Вопрос почему это не может сделать дефолтный сортировщик, если это возможно)
Dmitriy
Вопрос почему это не может сделать дефолтный сортировщик, если это возможно)
Ок, согласен. мы просто немного по разному воспринимаем сорт. Вашу точку зрения понял.
invasion
Пачаны, как сделать чтобы при не соотвтествений условий цикла он возращал меня обратно?
invasion
В начало цикла
Maksim
continue?
invasion
Я пытался континиум, но чет ничерта не вышло.
invasion
Написал continue и ничего не происходит.
Nikita
i = 0
Nikita
Но это не очень хороший стиль кода, кмк.
invasion
Он не всегда возаращает в начало.
invasion
На первый вопрос самый.
invasion
В первом промте условия проходит, а во втором допустим нет, тогда цикл продолжается дальше и выводит ответ вместо того, чтобы начать заново.
Nikita
i = 0
ты об этом? не верю.
Anonymous
Лучше переписать через while (true) { ... if (...) { ... break; } }
invasion
Да.
invasion
Nikita
А. i = -1.
Nikita
Но это некрасиво.
invasion
i = i - 1;
invasion
Во, так работает замечательно.
invasion
Цикл идет до тех пор пока пользователь все условия не пройдет.
invasion
Но почему не красиво?
invasion
А ну я понял, потому что лучше написать i - -
Anonymous
А ну я понял, потому что лучше написать i - -
javascript var data = {}; while (1) { let a = prompt("a = ", ""); let b = prompt("b = ", ""); if (a != null && b != null) { console.log("done!"); data[a] = b; break; } } console.log(data);
Nikita
А ну я понял, потому что лучше написать i - -
Как раз i-- повторит один шаг, а не начнёт заново.
invasion
А в чем разница между i -- и i = i - 1
invasion
?
Anonymous
А в чем разница между i -- и i = i - 1
Дело не в этом. Дело в том, что так как ты пишешь нелогично и считается плохой практикой
Anonymous
Я про цикл for исброс итератора внутри тела цикла
invasion
Почему плохая практика?
invasion
Точней почему не логично?
Anonymous
Точней почему не логично?
Потому что. Вот скажи мне почему i < 2? Ты считаешь это супер понятно? Твоя задача повторять цикл пока a и b не будут введены, верно? Но тот кто будет читать код подумает сперва, что цикл должен повториться один раз, потом найдет i-- внутри и вообще зайдет в тупик
Anonymous
Плюс ты выполняешь лишнюю работу. Сначала делаешь i++, а потом это отменяешь, если условие небыло выполнино. Это плохая практика
Anonymous
тебе вообще здесь не нужен итератор
invasion
Два раза потому, что пользователю тем самым даю возможность несколько своих потребностей записать
invasion
Anonymous
Тогда так: javascript var data = {}; for (let i = 0; i < 2; i++) { while (1) { let a = prompt("a = ", ""); let b = prompt("b = ", ""); if (a != null && b != null && a.length && b.length) { console.log("done!"); data[a] = b; break; } } } console.log(data);
invasion
Так, ну всё даже лучше работает так.
invasion
Более понятней, но разве while в for можно запихивать?
Anonymous
Более понятней, но разве while в for можно запихивать?
Конечно. Можешь вместо while (1) {} использовать for (;;) {}
Anonymous
это уже вопрос стилистики. Но while (true) или while (1) более распространено
Alexander
while( !(a = prompt("...")) || !(b = prompt("...")) );
Anonymous
while( !(a = prompt("...")) || !(b = prompt("...")) );
Во первых там условия намного сложнее, во вторых там не просто повторять, пока a и b будут иметь значения а еще и повторить валидные операции дважды
Alexander
Условия там такие же (только на undefined нет проверки). if(a) изоморфно if(a != null && a != undefined && a.length !=0) пока это строки. А что там еще стрёмная логика дальше -- ну, мне лень её дописывать)
Роман
Ребят, что не так?
Роман
Почему true?
Alexander
https://imgs.xkcd.com/comics/perl_problems.png
Alexander
> /[0-9]{4}/.test('123456') true > /[0-9]{4}/.test('12') false > /[0-9]{4}/.test('12124556') true > /[0-9]{4}/.test('1212') true
Alexander
Походу, {4} -- это "больше либо равно"
Илья
Это повторение 4 раза
Dan
Гхм