Предыдущий: >>1511559 (OP)НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!Для программирования на ХТМЛ https://codepen.io/pen/Для Ноды с консолькой https://repl.it/languages/nodejsДля фреймворков https://codesandbox.io/Залить, задеплоить страничку, сервер, контейнер https://zeit.co/nowАноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>1520608Асука это сахар над промисами упрощающий работу с ними. То есть выбор лежит - использовать промисы как пещерный человек или же как цивилизованный.
>>1520569 (OP)WTF?./node_modules/react-router-native/NativeRouter.jsModule parse failed: Unexpected token (10:30)You may need an appropriate loader to handle this file type.| user confirmations via Alert by default.| /| const NativeRouter = props => <MemoryRouter {...props} />;|| NativeRouter.propTypes = {
>>1520663Ну шарпик норм. От туда можно тащить, ничего против не имею.Я еще поддерживаю пиздинг из питона, особенно его подход к работе со списками.
Аноны, можете пояснить за одну хуйню? Боюсь брать задачи на работе, есть страх что не справлюсь или не успею. Задачи легкие, но постоянно боюсь этого. Боюсь обращаться. Работаю всего 2 недели, до этого никогда не работаю.Беру таски через страх, знаю что справлюсь, но все равно боюсь. Как фиксить?
>>1520671Задачу нельзя не выполнить, просто на нее потребуется больше времени. Смирись, будешь затягивать сроки, проебывать дедлайны, гуглить 90% рабочего времени. Ну и со временем пройдет, с опытом будешь примерно понимать сколько времени требует та или иная задача.
Посоветуйте какой-нибудь бесплатный node js сервак, на котором можно тестировать свои проектики с последующей возможности купить полноценную версию.
А какие есть популярные приложения на electron? А то я могу только вспомнить всякие проги для девелоперов. Для обычных людей есть что?
>>1520774Я кстати не так давно пытался на хероку запустить дискорд бота, после 5-10 минут он стабильно падал и его приходилось перезапускать. Это у меня руки кривые или хероку теперь не поддерживает постоянный хостинг бесплатного говна?
>>1520787Я раньше думал, что это игра, где надо код писать в геймплее, а оказалось обычный платформер.
Вкатываюсь в жс из жабы, читаю exploringjs. Это пиздец, товарищи. По сравнению с простой, как два пальца, жабой, жс выглядит как язык для надмозгов.
>>1520860В том то и дело, что она даже 30 минут не работал, а 5-10. Вообще дело было месяца 4 назад, я все облазил, но этой таблички не нашел, спасибо за инфу
>>1520855Просто переходной шок. Джава сложнее, на самом деле. Тут просто вопрос привычки к слегка другим концептам и направлениям программирования.
>>1520924> Vaadin предлагает сервер-ориентированную архитектуру, базирующуюся на Java Enterprise EditionС таким же успехом можно и на ассемблере писать.
>>1520862https://exploringjs.com/es6/index.htmlПо содержанию, как я понял, нечто среднее между пересказом стандарта и книгами типа how to breathe for dummies. В принципе, всё понятно, но присутствует ощущение какой-то неконсистентности, что-ли. Хотя, скорее всего, я просто не вкурил. Закрамлю сегодня сколько смогу и завтра видно будет, сможет ли мозг что-то внятное собрать. С другой стороны, жаба показалась мне простой как спичка, ибо я начинал вкуривать её снизу вверх, по статьям о всяческих кишках жвм, и на выходе у мозга было достаточно полное представление о том, как это всё говно на самом деле работает.
>>1520933так эта книга про es5 => es6 , в основном пересказ стандарта. Ну и вообще в js нет хороших книг по языку, лучше сразу начать что-то писать и посматривать в mdn.
>>1520941Нужен, нужен. В проекте найдется место для макаки, чтоб формочки рисовать и json посылать серьезным людям.
>>1520924>Vaadin>Google Web Toolkit>компилится в жс>последняя версия вышла 2 года назадСами ебетись с транспилерами работающими под капотом на мертвом фреймворке.
>>1520994Ты просто не видел ничего кроме жс-мира, где каждые полгода новый фреймворк учат. Java 8 юзается в 80% тырпрайза, хотя вышла в 2015-ом.Ебать, я угадал про 80%, это я написал до того, как нашел пикчу
>>1520679> Задачу нельзя не выполнить, просто на нее потребуется больше времени. Смирись, будешь затягивать сроки, проебывать дедлайны, гуглить 90% рабочего времени. Ну и со временем пройдет, с опытом будешь примерно понимать сколько времени требует та или иная задача.Все-таки сделал. После выполненного таска появляется мотивация сделать еще, прокачивать скиллы. Работаю верстаком/js и реактером.
>>1520855Тоже из жабы вкатывлся. И не пожалел. Жс гораздо более сильный язык. Особенно когда понимаешь преимущества функционального програмирования в сравнении с допотопным ооп. Плюс такие удобные функции как map, sort, filter. Куча вариантов for. Template literals. В то время как в жабе без мапинга до сих пор по варварски через цикл for перебираются по массивам.
Аноны, подскажите пожалуйста.Я сверстал небольшую карточку, внизу которой у меня название фильма, год и жанр. Расположил их с помощью флексов, однако если у фильма слишком длинное название, он просто переносит его ниже и название фильма накрывает текст под ним. Как такое пофиксить? Названию фильма даю маргин, толку 0.
>>1521131Тащемта, там в 8 жабе в хэлпер класс Arrays завезли фабричные методы, возвращающие стрим элементов массива.
Расскажите как вы организуете свои проекты.Вот скажем я почти всегда использую свой объект, куда записываю все параметры и функции.Скажем "var core = {...}".Далее уже использую этот объект в проекте непосредственно. Например "core.create.button ({имя: 'имя', параметры: создания}); core.button[id].onclick = f () {}". Суть понятна.Не знаю почему я выбрал этот подход, но использую его уже много лет. Дошёл до него сам. Изначально просто писал функции где попало, но хотелось структурированности.Впрочем интересно как вы обычно организуете структуру своих проектов?
господа бекендеры на ноде, расскажите какие проекты писали) кроме лаба1.жс, есественна. востребована ли нода на рынке или проще питонщика нанять? какие плюсы у ноды по сравнению с тем же питоном в контексте вебхуйни?
>>1521231я уже третий тред спрашиваю, щас прибегут жаберы из соседнего треда и пояснят, что весь тыртырпрайз на жабе, а нода нахуй не нужна
Как запускать react приложения без node js, это нужно бандл через webpack собирать в котором будет сам компонент для отображения? Этот компонент будет иметь отношение к основному DOM или будет иметь свой виртуальный независимый DOM?Как верстать сайты с использованием react компонентов, в самом приложении реакта просто указывать в каком DIV он будет отображаться?
>>1521182Сам не пилил, там до меня уже запилено все. Просто иак сказать поддерживаю его работоспособность. Проэкт... скажем так один из известных телеканалов.
>>1521255Т.е. это были какие-то микросервисы с не особо ценной информацией? Была какая-то серьезная бизнес-логика?Мне просто интересно, какие именно части проектов отдают под ноду
>>1520976Почему ты сичтаешь фронтендеров мусорными формошлепами, а бекендеров серьезными программистами?
>>1521259Вот я вставил js файл, который выплюнул webpack, компонент, который вызывается в определенном div имеет свое DOM дерево отделенное?
>>1521231Спрашиваешь какую-то хуйню в вакуумеСовременный жс имеет самую лучшую реализацию ФП Со всеми деструктуризациями и обработками массивов даже из коробки можно переворачивать структуры данных в 2 строчки, что размазалось бы в каких-нибудь петонах с пыхами на несколько вспомогательных методов для каждого случаяЛучшая реализация асинка среди всей веб параши если не в принципеПо бенчмаркам даже оверхеднутый экпресс обгоняет практически всех конкурентов
>>1521265Ты о чём? React рендерится через ReactDOM.render(element, node)Где element это реактоэлемент, а node - это домовская нода, doucment.getElementById('root')
Анончки, подскажите:У меня есть поле инпута, в которое я ввожу текст. После того, как отправляют текст на сервак, он в виде маленького дива появляется под самим полем. Написал такой функционал, что при простом клике на див, текст с него перетекает в инпут, а при двойном клике он удаляется. Сделал удаление через elem.removeChild(). После этого не могу более одного раза что-то отправить с формы, при отправке текста во второй раз происходит краш и всё слетает. Что может быть не так?
>>1521309>>1521339Ну так выклади с формами всемиТвой новый элемент без субмит аттребута если у тебя простые формы и без листенера на отправку если айах>if (tagList.length === 1) length массива >= 0 поэтому не нужно писать === 1 поскоку 0 фалсабельный
>>1521347>Ну так выклади с формами всемиМне тогда придётся почти весь проект впихивать туда. Я только кусок с формой выложил.Смотри, под импутом есть див, в который я помещаю всё то, что отправляю инпутом. Так-же, чтобы не дублировать одно и то-же я сделал объект, в который добавляю то, что ищем и флаг true/false. Когда происходит дабл-клик, то я удаляю и ДОМа и из того объекта.
>>1520569 (OP)Существует ли где-нибудь client-side скрипт на JavaScript, для архивации и разархивации zip-файлов в браузере.Например, у меня есть base64, dataURL, blob или arraybuffer или Uint8Array c байтами или просто hex, и стоит задача сохранить его как zip-файл, задав пароль, а не открытым текстом по HTTP его гнать.Весь интернет перерыл, не нашёл ничего годного. Многие скрипты что я нашёл - требуют NodeJS.А надо что-то такое, чтобы в html-файле прописать script src="blahblah.js" и начать с ним работать, без нод-хуёд.Пока что нашёл только голую имплементацию алгоритма Deflate, вот здесь: https://github.com/dankogai/js-deflateХуй знает как с него zip-файл сделать, и как его паролем-то зашифровать.Есть чё-нить более годное, а посоны?
>>1521419Я уже видел. test.html - не работает. Какая-то херня в консоли.Свиду, скрипты похожи на нодные, для node.js, а не для браузера.Но всё-же удалось открыть и потестить, по этому вот гайду: https://stackoverflow.com/a/52659207С обычными архивами работает, но как я понял, там нет поддержки zip-пароля, и вводить её не планируют...А есть чё-нибудь с паролем?Пока, нашёл тут: https://stackoverflow.com/questions/14829782/generate-a-password-protected-zip-file-in-node-jsнекий minizip-asm.js, но он вроде как тоже для ноды,а не - для браузера.
>>1521209> phpВсе еще жив в своей нише вордпрессов и маджент. Фрилансеры-одиночки любят. Клепают на нем проекты и просят как за настоящую работу. Для них работает.> rubyОно само себя убило> pythonЛол, у него сейчас золотая эра. Это питон теснит всех сейчас.
>>1521211Вебпак тебе реализует полную инкапсуляцию модулей. У каждого файла будет по сути свой скоуп невидимый из глобала. В глобал можно только явно выкидывать то, что тебе нужно через объект window. Но если ты возьмешь любой нормальный фреймворк, то у тебя и потребности выкидывать что-то в глобал не будет. Ты реально что-то отстал.
>>1521279> Современный жс имеет самую лучшую реализацию ФП Даже лучше, чем в чистых ФП языках! А всякие рамбды.жс юзают потому-что в жс самая лучшая реализация ФП искаропки.>Со всеми деструктуризациями и обработками массивов даже из коробки можно переворачивать структуры данных в 2 строчки, что размазалось бы в каких-нибудь петонах с пыхами на несколько вспомогательных методов для каждого случаяТы точно работал с питоном?> По бенчмаркам даже оверхеднутый экпресс обгоняет практически всех конкурентов...включая GO.
>>1521423>>1521421>Даже лучше, чем в чистых ФП языках!Поянтно что речь идет о вебе>Лол, у него сейчас золотая эра. Это питон теснит всех сейчас.Очевидно рынок перенасыщен никому не нужными вышкододиками готовыми работать за копейки>Ты точно работал с питоном? Напишите любую датаструктурную хуйню я перепешу это в пару строчек на жсе>обгоняет практически всех конкурентов>...включая GO.Под конкурентами имел в виду вышеперечисленную веб клоаку, говно с ржавченой это другое
Только что откинулся с армии. Что в этих ваших вебах нового случилось за прошедший год вкратце? Не знаю даже, с чего заново вкатыватьсямимо-два-года-фронтендщик до армейки
>>1521494Ничего. Лишь старые технологии немного изменились, типо в реактах стали активно юзать хуки, и то, не все.
Что-то реакт подзарержался. А говорили типа каждый день что-то новое. А по факту еще лет 7 минимум реакт будет. Просто тупо нет замены на горизонте.
>>1521544Этот процесс скачкообразный, а не постоянный. В какой-то момент появился спрос на более усложненный фронт и стали плодиться различные решения для удовлетворения спроса. Сейчас этот спрос покрыт кучей работающих решений.Следующий такой скачек может случиться в связи с развитием PWA или webAsm, что не так и долго ждать.
>>1521558Потому-что в 90х-нулевых веб это был архив документов в интернете, тогда как сейчас веб стал каталогом онлайн приложений и в том числе документов.Не надо только ныть про то, что прогресс не нужно и надо было так и сидеть на фреймах.
>>1521574Ясен хуй, прогресс это хорошо. Только вот появление новых технологий должно быть обосновано. Теперь поясни, зачем нужен еще более сложный фронт?
Но это бред, онлайн в приложениях почти не нужен. И в браузере ограниченные опппппвыоп опопопоп попо опоо п возможности. ЗАчем тогда ОС нужна и десктоп, сидите сразу с одного браузера и его локальным хранилищем размером с ваш жесткий диск. А ядром ОС будет линукс, чтоб мало весил и сам браузер работал, больше ничего не надо. Скоро и игры будут играть в облаке.
>>1521590Короче, представь, 2049 год, все сидят на хромбуках. Всё, от фотошопа до игрулек должно работать в бровсере.Просто по твоей логике даже html - излишек прогресса ради прогресса. Вот нахуя все эти красоты нужны? Текст же сам по себе вполне функионал свой выполняет.>>1521604>Приложений >хромбукиТы сам-то понял что сказал?
ребзи, дроч на еще более новые технологии во фронте это пустая трата энергии. фронт уже сложнее не станет, тк ограничен двумерной поверхностью дисплея. следующий шаг развития фронтенда будет с появлением прямого нейроинтерфейса.
>>1521607> Ты сам-то понял что сказал?Понял, нет приложений которые работают на v8. Он делался с учетом того, что под него будут пилить всякие pwa, но никто не захотел.
>>1521610>pwa>гуголА теперь ещё раз подумай что ты вообще высрал. Ща гугел вам даст швабоду, вместо привязки яйцами к себе, ага.
>>1521616То, что PWA, очевидно, протеворечит гугловской бизнес модели. Гугл не един в своих подразделениях, они там ного чего продвигали. И так же закапывали.
>>1521625Привязать всех яйцами к своим сервисам. И кормить всех этими сервисами. А для такого, очевидно, нужно чтобы абсолютно всё было в облаке.Ебать ты валенок, братишка. Не зря в жс треде сидим.
5 типовых задач на собеседованиях по JavaScriptЗадачи казуальные и по-своему всратые.https://medium.com/webbdev/js-2b0820b3788fРасчехляйте свои решения. https://repl.it/@CharonIV/5-tipovykh-zadach
>>1521635FizzBuzz говно, дал параметр -10, нихуя не отработало. От 1 до -10 не можешь посчитать, лох?
>>1521647Вот не надо тут про валидацию входящих данных говорить. Это все синтетические задания. Давай еще типы аргументов проверять, вдруг ты buffer запихнешь туда
Ребятки, есть ли какой нибудь список проектов которые можно для тренировки сделать на js, только полноценные, а не палиндромы-анаграммы?
>>15216352. const fizzbuzz = end => [...Array(end).keys()].forEach(num =>console.log(num, (num % 3 === 0 ? "Fizz" : '' ) + (num % 5 === 0 ? "Buzz" : '') || num ) )3.const ww = word => word.toLowerCase().split('').sort().join('')const anagram = (w1,w2) => w1.length === w2.length && ww(w1) === ww(w2)5. const fiB = (n,a,b) => n === 0 ? a : fiB(n-1,b,a+b);const fib = nth => fiB(nth,0,1);
>>1521670А зачем? Если жизнь дает тебе лимоны, делай лимонад. Как бы задания на позицию JS разработчика, вот и должен показать, что умеешь в js. Давай на if else for while все зафигачим, которые есть в любом языке программирования.
>>1521671Что сильно дохуя умный? А коменты где, а форматирование? Кто потом разбирать это дерьмо будет? Переделывай нахер все
Народ, а async/await используют вместе с then? Или цепочки промисов и асинк эвейт это 2 разных подхода?
>>1521706Разные, почитай про async await, в двух словах это синхорный способой работать с асинхорным кодом.
>>1521706async-функция возвращает промис, потому с возвращаемым от нее значением можно работать с then.
>>1521770Запускает саму себя до того момента, пока не сработает первое условие, после этого начинает идти обратно по стеку и возвращать значения, вроде как-то так
>>1522059На проекте юзается Ngrx/data, это обертка поверх Ngrx/entity.Мне нужен кастомный запрос, типа не Апдейт/Делит а сделайДохуя(ид). И кастомный АПИ ендпоинт. Вот как это блять сделать? Как добавить кастомный этот метод и потом в еффекте или где дернуть апи, дождаться респонса и заапдейтить стор. Перечитал вот эту хуйню https://github.com/johnpapa/angular-ngrx-data/tree/master/docsзаимплементил кастомный дата сервис, кеш сервис, редюсер. НО оно просто оверайдить существующие методы Ngrx/data. Те, которые в EntityOp. А как срать сделать полностью свой метод?
>>1521635В последних двух задачах ничего эффективнее не придумать, а вот в первых трёх можно сделать эффективнее.https://repl.it/repls/SnarlingQuerulousDegree
>>1521770>как рекурсияПервый пик рекурсия из статьиНа каждый шаг рекурсия пидорится на две другие, что ебаный пиздец и лучше на собесе вообще ничего не написать чем высрать такоеВторой пик обычная рекурсия с аккумулятором >>1521671>Там же нет returnЕсли ты про (n,a,b) => n === 0 ? a : fiB(n-1,b,a+b);В стрелочных функциях при неуказывании фигурных скобок автоматически становится return, но должин быть один экспрэшон (n,a,b) => n === 0 ? a : fiB(n-1,b,a+b);(n,a,b) => { return n === 0 ? a : fiB(n-1,b,a+b); }function(n,a,b) {return n === 0 ? a : fiB(n-1,b,a+b);}Писать что-то типаn => let a =1; n+1;НельзяЕще в стрелочных функциях не обязательно засовывать в скобки () аргумент если он один
>>1522144>На каждый шаг рекурсия пидорится на две другиеЭто не самый пиздец. Пиздец , если ты им формулу Бине напишешь или если у тебя ее спросят. Я лично не знаю как она выводится, но я решал задачу через нее, потому что когда-то давно смотрел формулы чисел фибоначчи. По началу я удивился, что существует на столько мощный метод вычисления, но потом задумался : является ли он столь эффективным? Если присмотреться к формуле, то можно увидеть что от n растет кол-во умножений и делений, а классический подход лишь суммирует числа. Я замеры на скорость не делал, но что-то мне подсказывает, что одно суммирование явно быстрее чем несколько умножений
function mixin(...src) { for (let _cl of src) { console.log(_cl) for (var key of Object.getOwnPropertyNames(_cl.prototype)) { console.log(key) Shape.prototype[key] = _cl.prototype[key] } }}https://playcode.io/468568?tabs=script.js,preview
Собственно задание: MixinObject.create не позволяет сделать объект более чем от одного прототипа. Требуется создать функцию mixin позволяющую подмешивать множество прототипов в итоговый объектКод-условие и тесты:/ Test example /function Shape() {}const originalPrototype = Shape.prototypefunction Drawable() {}Drawable.prototype.draw = function() {}function Chainable() {}Chainable.prototype.chain = function() {}Shape.prototype = mixin(Drawable.prototype, Chainable.prototype);assert(Shape.prototype).toBe(originalPrototype)assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)assert(Drawable.prototype.__proto__).toBe(Object.prototype)assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)assert(Chainable.prototype.__proto__).toBe(Object.prototype)assert(Shape.prototype.__proto__.draw).notToBe(undefined)assert(Shape.prototype.__proto__.chain).notToBe(undefined)assert(Shape.prototype.__proto__.chain).toBe(Chainable.prototype.chain)assert(Shape.prototype.__proto__.draw).toBe(Drawable.prototype.draw)/ mixin() - function that student should create assert(actual) - object that takes actual result toBe(expected) - method compare with expected notToBe(not expected) - method compare with not expected/https://playcode.io/468568?tabs=script.js,previewМой вариант решения, но не получается подмешать примесь к нужному прототипу в цикле( не знаю как записать)
>>1522246Да, я долбоёбФиксю:Код-условие и тесты:/ Test example /function Shape() {}const originalPrototype = Shape.prototypefunction Drawable() {}Drawable.prototype.draw = function() {}function Chainable() {}Chainable.prototype.chain = function() {}Shape.prototype = mixin(Drawable.prototype, Chainable.prototype);assert(Shape.prototype).toBe(originalPrototype)assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)assert(Drawable.prototype.__proto__).toBe(Object.prototype)assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)assert(Chainable.prototype.__proto__).toBe(Object.prototype)assert(Shape.prototype.__proto__.draw).notToBe(undefined)assert(Shape.prototype.__proto__.chain).notToBe(undefined)assert(Shape.prototype.__proto__.chain).toBe(Chainable.prototype.chain)assert(Shape.prototype.__proto__.draw).toBe(Drawable.prototype.draw)/mixin() - function that student should createassert(actual) - object that takes actual resulttoBe(expected) - method compare with expectednotToBe(not expected) - method compare with not expected/
>>1522210хз я даже обычную формулу фибоначи не стал бы писать без вики перед глазами, если зп не запредельнаяИ учитывая что это жс тред
>>1521435>На главной есть полностью клиент сайдный скриптТолько вот он не zip-ает нихуя. Блокнотом открой этот zip и увидишь в коде - "Hello World" извнутри текстовика Hello.txt.Говорил же, что пароль надо, даже работает сжатие.>>1521444>https://gildas-lormeau.github.io/zip.js/ видел?Видел, но эта тулза тоже без пароля, вроде...Один Issue открыт и он без ответа:https://github.com/gildas-lormeau/zip.js/issues/161
console.log(array);Почему ЖС-эры могут вывести массив одной строчкой, а я как дурак должен циклом обходить?
>>1522351>>1521420Короче, я там глянул гитхаб этого минзип-асма, и он не только для ноды. Там в папке example index.html включает в себя сам скрипт + ещё скрипт с логикой для сайта (скомпресованный в нечитабельный вид, но на это у жээсеров наверняка есть своя затычка).Больше ничем помочь не могу.
По какому тутору, книге, статье можно фастом поднять експресс, его экосистему, тесты там, бест практисы, чтобы написать говносерчер. О себе работающий джун реакт/вью, бека не знаю, могу только запустить экспресс для next/nuxt
>>1522438Так можно в любом языке с динамической типизацией, где списочные типы автоматически приводятся к строке.
>>1522684>По какому тутору, книге, статье можно фастом поднять експрессищешь проект на гитхабе -> клонируешь
>>1522237Я должен как джун понимать этот код ? что то понятно, но все как в тумане, какое то нечитабельное говно.
>>1522763Там ошибка. Задание требует создать функцию mixin позволяющую подмешивать множество прототипов в итоговый объект. И у задания есть код-условие, а так же тесты которые должна проходить написанная функция:Код-условие и тесты:/ Test example /function Shape() {}const originalPrototype = Shape.prototypefunction Drawable() {}Drawable.prototype.draw = function() {}function Chainable() {}Chainable.prototype.chain = function() {}Shape.prototype = mixin(Drawable.prototype, Chainable.prototype);assert(Shape.prototype).toBe(originalPrototype)assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)assert(Drawable.prototype.__proto__).toBe(Object.prototype)assert(Shape.prototype.__proto__.__proto__).toBe(Object.prototype)assert(Chainable.prototype.__proto__).toBe(Object.prototype)assert(Shape.prototype.__proto__.draw).notToBe(undefined)assert(Shape.prototype.__proto__.chain).notToBe(undefined)assert(Shape.prototype.__proto__.chain).toBe(Chainable.prototype.chain)assert(Shape.prototype.__proto__.draw).toBe(Drawable.prototype.draw)/mixin() - function that student should createassert(actual) - object that takes actual resulttoBe(expected) - method compare with expectednotToBe(not expected) - method compare with not expected/Сам мой код: https://playcode.io/468568?tabs=script.js,preview но я не понимаю как мне присвоить в цикле что последний аргумент является прототипом следующего.
>>1520569 (OP)Зацените исходники.Если говнокод, то что в первую очередь надо пофиксить?https://github.com/vlr-hub/pricing-tools-frontend
>>1522824Server-Side Rendering?А в чём смысл? Бизнесу ведь не выгодно арендовать мощные серваки? У меня бэк рендерит только исходную страницу (передаёт "стартовые" параметры, по которым реакт определяет, какую именно страницу нужно открыть). Ну а при переходах внутри сайта запрашивается только контент, включая данные из БД.https://github.com/vlr-hub/pricing-tools-backend/blob/master/resources/views/index.blade.php
>>1522855Смысл в том, что бизнес зависим от рекламы, а рекламу в интернете можно получить либо покупая её, либо занимаясь продвижением в поисковиках. Если гугл еще может кое-как работать с js контентом, то яндекс нахер шлет таких. А если в поисковиках у тебя нет никаких позиций, то еще и покупаемая реклама будет стоить дороже.
>>1522859И яндекс и гугл добавляют в поиск страницы, указанные в sitemap.xml.https://pricing.tools/sitemap.xml
>>1522874Только на этих страницах для поисковиков нет контента. Вот так выглядят они для поисковых ботов.
>>1522895Насколько я понял и React и Vue могут рендериться на серваке только в паре с нодой. Однако подавляющее большинство сайтов работают на апаче и nginx.Для чего они тогда используются?
>>1522975Тупой вопрос: зачем ставить на сервер nginx и переправлять запросы на ноду (https://stackoverflow.com/questions/5009324/node-js-nginx-what-now), если можно обращаться к ноде напрямую?
>>1520905Добавь в приложухе аддон New Relic и настрой там пинг вебморды каждые 10 минут. Добавляешь к акку кредитку и, вуаля, бесплатный хостинг 24/7
Решаю задачки с офф учебникаСоздайте функцию truncate(str, maxlength), которая проверяет длину строки str и, если она превосходит maxlength, заменяет конец str на "…", так, чтобы её длина стала равна maxlength.Результатом функции должна быть та же строка, если усечение не требуется, либо, если необходимо, усечённая строка.https://pastebin.com/vHGkS5EnПочему у меня к результату усечения строки приклеивает undefined ?
>>1523178let list = [1,2,3]for(let i = 0; i<list.length; i++) {if(i<10) {list.push(i+3)console.log(list)}}
>>1523086function truncate(str, maxlength) { if (str.length < maxlength || str.length === maxlength) alert(str) else alert(str.slice(0,maxlength-1) + '...')}
>>1523235const truncate = (str, len) => (str.length < len || str.length === len) ? alert (str) : alert(str.slice(0,len-1) + '...')
>>1523245const truncate = (str, maxlength) => { const tail = "..."; return str.length > maxlength ? str.slice(0, maxlength-tail.length)+tail : srt;}
>>1523327оператор && имеет приоритет над ||(выражение1 && выражение2)сначала вычисляется выражение1 2 это не falseдалее вычисляется выражение23 это не falseлюбая хуйня || не false это не falseвозвращается результат выражения2 как результат вычисления логической функции
>>1523343Потому что ёжики носят яблоки, а не яблоки ёжиков.При сравнении строк, сравнивается не длина, а посимвольно. https://learn.javascript.ru/comparison#sravnenie-strok
>>1523327>>1523346Кстати, в typescript и, скорее всего, в бебелях-шмебелях тоже, добавили уже оператор ??, который находится на финальной стадии принятия в стандарт экмы. Значительно более удобный, чем ||. Рикомендую.
>>1523358> добавили уже оператор ??, который находится на финальной стадии принятия в стандарт экмы. Значительно более удобный, чем ||. Рикомендую.Он добавляет какие-то новые функции?
>>1523365Более ожидаемое поведение по сравнению с ||, так как не зависит напрямую от falsy сравнений. ?? проверяет на наличие или отсуствие данных.https://github.com/tc39/proposal-nullish-coalescinghttps://devblogs.microsoft.com/typescript/announcing-typescript-3-7-beta/Optional Chaining еще мелкое, но очень удобное добавление.
>>1523158Тебя не бесит ПОДЛАГИВАНИЕ при перелистывании таблиц, списков и тд., которое обязательно присутствует при запрашивании данных по кускам?
>>1523355>Не понялhttps://javascript.info/comparison#string-comparisonconsole.log('ё'.charCodeAt(), 'я'.charCodeAt());
>>1521235Так и есть. На ноде в крупных проектах пишут разве что какие-то прослойки или отдельные микросервисы, но никто не будет юзать её как основу. Не потому, что нода говно, а потому, что у Джавы банально намного более развитая экосистема. Тот же Спринг предоставляет тебе инструментов намного больше и даёт гораздо более высокий уровень абстракции, чем любой жс-фреймворк для бэка. И очень многое там есть из коробки, без какой-то дополнительной еботни.
Анончики, подскажите с кодировкой. Не знаю, как послать post реквест с формдатой и в нормальной кодировке (utf8), чтобы на сервере это не выглядело, как мешанина из случайных символов. Как это реализовать?
>>1523485>пук>>1523502"Микросервисы" пишут только неосиляторыВ основном это вебсокет сервер или сервер как гейтвей на пару 3д парти запросовПочему это называют "Микросервесами" остается загадкой
>>1523377Нет. Ты и так ожидаешь, что при перелистывании будет небольшая задержка. А вот когда первый раз открываешь и ждешь 3 секунды - это пзидец
>>1522824>2020>ssr Удивлён что до сих пор бывают не-SPA фронтенды.Не встречал их с 2009 и надеюсь не встречу.
>>1523610>Аргументы>у Джавы банально намного более развитая экосистема>Тот же Спринг предоставляет тебе инструментов намного больше и даёт гораздо более высокий уровень абстракции>На ноде в крупных проектах пишут разве что какие-то прослойки или отдельные микросервисы>пук
Как встроить 12-й Node в программу на крестах? Про восьмой в интернете что-то есть, а про двенадцатый вообще ничего не нашел.
Лайфхак для вкатывальщиковПлохоconst handler = newVal => setS(newVal);onClick={(e) => handler(e.target.value)}const handler = e => setS(e.target.value);onClick={handler}Окconst toVal = e => e.target.value;const handler = pipe(toVal,setS);onClick={handler}
Я тут недавно узнал, что оказывается в javaScript нету типа данных integer, соответствующего целым числам. Вместо этого все числа являются числами с плавающей запятой float.Как разработчики справляются с этой проблемой?
>>1523805>/Спецификация языка/>Как разработчики справляются с этой проблемой?Где проблема-то? Хотя бы пример какого-нибудь случая
>>1523807>Где проблема-то? Ну как минимум проблема в быстродействии:1) операции с целыми числами выполняются процессором быстрее чем операции с числами с плавающей точкой. 2) нельзя выполнить целочисленное деление, не применяя при этом функцию округления.
>>1522663Годно. Работает. Достаточно было заменить все '"//' на 'http://' и взлетело.Выкачал скрипты по ссылкам, теперь всё локально пашет. Благодарочка.
>>1523809скороникогда>We have plans for how we would implement such support, but it is another case where we would first like to find out whether that is really what you, our users, care about the most; or whether we should spend our time on something else instead.
>>1523809Откуда вы такие набегаете?Что ты хочешь услышать на свой пук?>Ну как минимум проблема в быстродействииПроцессор тратит больше времени на обработку I/O (в котором ЖС на голову выше всего остального веба) чем на сами вычисленияТоп компании до сих пор перекатываются на Ноду ради перфомансаРынок ни при чем, убрав фронтенд сярп/ява/питоно макак будет в полтора-два раза больше
>>1522663>Там в папке example index.html включает в себя сам скрипт>+ ещё скрипт с логикой для сайта>(скомпресованный в нечитабельный вид, но на это у жээсеров наверняка есть своя затычка).Судя по комментарию в самом начале:>Operative v0.4.5 (c) 2013 James padolsey, MIT-licensed, http://github.com/padolsey/operativeэто - минифицированный скрипт operative, для подключения Worker'a, в браузере.Вот этот проект здесь: https://github.com/padolsey/operativeТут: https://raw.githubusercontent.com/padolsey/operative/0.4.4/dist/operative.min.jsпоследняя версияА вот тут: https://raw.githubusercontent.com/padolsey/operative/0.4.4/dist/operative.jsполный исходник, не минифицированный.Ну и чтобы проверить это, выкачал их, и подключил в index.html. Всё работает.
>>1523805Вместо него BigInt.Но вообще ты не понимаешь скриптовые языки. Если тебе нужна точная математика, то делай вставки на вебасме.
>>1523809>1) операции с целыми числами выполняются процессором быстрее чем операции с числами с плавающей точкой.Внутри JavaScript число представлено в виде 64-битного формата IEEE-754. Для хранения числа используется 64 бита: 52 из них используется для хранения цифр, 11 из них для хранения положения десятичной точки (если число целое, то хранится 0), и один бит отведён на хранение знака.У тебя всегда есть дробная часть, ты её не видешь. Напиши let a = 2.0 и верни его. Он тебе вернет обычную двойку. Но явный флоат Питона или Си и т.д. вернет тебе 2.0 . Этим и отличается JS от остальных языков. Резюмируя, на скорость это никак не влияет. Она по умолчанию гавно.
>сидишь-пердишь, решаешь разные ката на codewars>вроде сделал, всё работает, хоть и выгляди некрасиво>submit final>чекаешь чужие решения (интересно жи)>пикрела ещё там один челик вообще скопипастил реализацию BigInt целиком в решение, но у меня она в экран не помещается
>>1523828Поясни, что там произошло? Задание было перемножить 2 больших инта? Один тупо заюзал апи, а второй захардкодил результаты тестов?
>>1523886Вместо решения задачи, он просто считает итерацию юнит теста и выдает ожидаемое им решение. Читор, криса, короче.
>>1523886В одном задание было перемножить два больших инта, а в другом сложить, но суть ты полностью раскрыл.
Почему в реакте данные между компонентами передаются пропсами, а не, например, сохраняются и читаются из localStorage?
Есть пример функции:fs.readdir(<путь>, (err, files) => { <Что-то делаю с files>});Как сделать похожую? Нужно чтобы она кое-что делала и внутри неё можно было что-то делать с её результатом.Мне нужна функция для работы с хэшем, а простая конструкция function a() {... return b} не подходит так как код продолжает выполняться, не дождавшись результата функции.В async не умею и почти ничего в нём не понимаю. Пробовал создать async функцию, но ничего не менялось.
>>1523926Потому-что заветы flux-архитектуры. Какие-то умные дядьки вывели целую теорию и написали кучу макулатуры, почему нужно делать так, а не иначе. Им виднее.Кроме пропсов ты можешь организовывать общение между компонентами через context api, redux, mobx и еще кучу других вариантов.
>>1523937Я не знаю. Терпеть его не могу. Он заставляет меня страдать прямо сейчас. В своих личных проектах я обмазываю реакт мобиксом.Context api, на самом деле, слегка оверейтед как универсальный убийца стор менеджеров, главным образом тем, что context api удобен что бы просто гонять данные между компонентами, но он нифига не заменяет собой собственно полноценный стор. А полноценный стор приложения ты сам захочешь, если напишешь достаточно крупное реакт-приложение.
Аноны, естествоиспытательский интерес.Есть html тег <div>, внутри него еще допустим пять дочерних <div>. Как сделать анимацию закртытия этих дочерних <div> поочередно c помощью jQuery. Тоесть допустим скрывается сначала первый, потом второй и т.д.Я знаю классический - колбеком в качестве аргумента hide(), второй - используя объект Deferred.Какие еще варианты? jQuery изучаю джва часа.
>>1524036Потому что я не дебилко, которое для маня сайта за двадцатник с двумя формами, будет тянуть на него реакт/вебпак/babel и прочее .
>>1524060Касательно промисов и fs, используй библиотеку bluebird, потому что я уже не вспомню в чем именно проблема, но при ошибках в fs, дефолтные промисы не поймают throw exception и все приложение ляжет.
>>1524067Не говорю про то, что такое обязательно вылезет, но если появится, то нервов можно много потратить на поиск ошибки. Там какая-то проблема, что fs использует низкоуровневые вызовы, которые стандартные промисы не ловят, и исключение летит в главный процесс и валит все к херам.
>>1524069Ого. На будущее заметочку оставил конечно, но мой говнокод не стоит таких выкрутасов. Спасибо.Это не масштабный продакшон, а свой маленький бот в телегу, так что похуй.
Давайте закроем эту тему тем, что фронт давно разделился на писателей веб-приложений и на тех, кто до сих пор верстает веб-документы с жиквери. Не на каждую задачу чего-то онлайн, реально нужно запиливать целое приложение на реактах-ангулярах.хотя я все равно смотрю на писателей на жикверей, как на неосиляторов.
>>1524118И что еще есть, как альтернатива джейквери? Желательно не либа известаня 3.5 смузихлебам.И в чем преимущества у этих либ переж жеквери будет?
>>1524146>>хотя я все равно смотрю на писателей на жикверей, как на неосиляторов.Если подумаешь - то жеквери очень часто юзают бекендеры. Которым со стороны фронта порою что то нужно сделать быстро и без ебли.
>>1524148Сейчас чистый js может практически все тоже самое, что и jquery. Еще несколько лет и он отпадет за ненадобностью. Приправляй только полифилами код через webpack, транспилируй с помощью babel и радуйся.
>>1524151Ну труп жикверей еще тащат запиленные на него плагины.А вообще интересно, есть ли какая-то либа для UI на чистом js? Я бы где-то такое даже применял бы.
Тут есть те кто с Redis работал?Реализую очередь на node+redis. Считывание из очереди делаю с помощью brpop(указав ему таймаут), пуш - lpush. Как реализовать следующую штуку:Кидаем гет-запрос(brpop) на пустую очередь. Тк вытаскивать нечего, ждем указанный таймаут. В это время кидаем пост-запрос(ЛПУШ). Как только в очередь что-то запушилось и это произошло до истечения таймаута у брпоп - он должен вернуть нам эту запись из очереди. Проблема в том, что сейчас если кинуть гет на пустую очередь то брпоп просто блокирует все на время таймаута и следующий запрос с пушем параллельно не обрабатывается.
>>1524148Вопрос уровня "докажи что бога нет". Ты сначала докажи что он есть - тогда поговорим. Понимаешь аналогию? Чистый es6 делает всё то же самое, что делает жквери, кроме анимаций на позиционированиях (они всё равно должны быть запрещены какой-нибудь конвенцией давным-давно, ибо трансформы)
>>1524146Что за бинарное мышление - либо жквери, либо ангуляр? Писать можно на ванилле, а собирать тебе придётся всё равно, как минимум - минифицировать. Если ты предлагаешь даже не минифицировать - то ты просто самозванец от индустрии, и никакого оправдания тебе нет.
>>1524148Не слушай долбоебов, спокойно юзай джиквери на своем небольшом проекте, он намного удобнее чистого жс в контексте твоей задачи.
>>1524151>>Сейчас чистый js может практически все тоже самое, что и jquery.>>1524155>>А вообще интересно, есть ли какая-то либа для UI на чистом js? >>1524165>>Чистый es6 делает всё то же самоеЯ конечно все понимаю... Я из бэкенд-стороны прилетел, JS знаю нативный, react уровня тудушечки. Немношк Nоde.js использую. Но я чет фрустрирую от ваших местных с заявлениями про "чистый" JS и "либы на чистом JS".Джейквери - это видимо бинарный пакет на C++.Ебать у вас цирк.
>>1520569 (OP)Крестобоярин вкатился итт. Не думал что этот день наступит так скоро. Нужно выучить ваш джава мать его скрипт. Обрисуйте вкратце что куда и как.
>>1524232Лол, что, qml осваиваешь? Я изучал по learn javascript на инглише, но на сам деле он там используется в довольно урезанном виде.другой крестобоярин
>>1523937Затем, что контекст не заменяет редакс. Редакс - это как контекст на стероидах, если в двух словах. Контекст - это механизм передачи пропсов на разное кол-во уровней вложенностей, а редакс это полноценный стейт менеджер.Что такое стейт менеджер ты можешь загуглить сам.
>>1524239Объясни зачем тебе глобальный стейт менеджмент? Потому что у тебя стейт большой? Ты в стейт пихаешь всякое говно?
>>1524243Потому что в современном real-world приложении управление состоянием приложения далеко не такая тривиальная вещь, какой она может показаться на первый взгляд.
>>1524243И да, стейт большой и сложная асинхронная логика с кучей сайд эффектов, которые нужно контролировать. Это уже отвечая на твой вопрос.
>>1524249Но ведь Редукс вводят для глобального стейта, а потом героически решают проблемы с запросами к бекенду с помощью саги хуяги
>>1524257Потому что вместо того чтобы прокидывать компонненты в пропсах на один два уровня, собирают в глобальны пучок зависимости и хардкодят компоненты на нижнем уровне
А кстати объясните нубу, чому не сделать несколько топ левел контейнеров и в них читать данные с сервера (типа в componentDidMount), и в чилды передавать данные через пропсы? Я так сделол в своем проекте и вроде никаких проблем не заметил
>>1524250Деньги плати - будет информация. Я не буду тратить своё время и всё разжевывать, что бы даже амёба поняла. С опытом поймешь, короче.
>>1520569 (OP)Ребяты, NaN === NaN в хату, подскажите, пожалуйста, годных источников по Angular2-8, желательно гайдов (SPA, архитектурные решения). В гугле был, awesome angular на гите смотрел, хотелось бы лучшие практики от авторитетных ребят, а то что не статья на хабре, то автора в комментах критикуют и обоссывают.
>>1523805В спеке то нету, но у имплементаций свой путь(тм). Рантайм чекает, инт у тебя или хуинт, так что скорее всего на твоем любимом интеле будут крутиться твои любимые инты
>>1523937ПЕР ФОР МАНСКогда ты обновляешь стор нормального стейт менеджера - ререндерятся только несколько компонентов. А когда контекс - обновляется все, даже на винду апдейт приходит. И так каждый клик
Что добавить, чтобы срабатывало только по истечению N времени бездействия на странице?setTimeout(function(){ location.reload(); }, 300*1000);
>>1524214Пиздец, вот ебать ты умный тут, а мы все тупые. Речь идёт о том, чтобы не тянуть либу там, где это не нужно. Для того, чтобы найти элемент на странице и сделать аякс-запрос не нужна библиотека. Особенно не нужна такая библиотека, которая провоцирует отмороженых школьников писать отмороженый код без малейшего понимания происходящего. Истории про "акак мне на класс повесить запрос" и прочие "как на жквери сложить два числа" и прочие "что значит проитерироваться по коллекции элементав???" - это, конечно, заебись, но пора бы отходить от этого.
>>1524487>> Речь идёт о том, чтобы не тянуть либу там, где это не нужно.Судя по цитатам тех типов создается впечатление что речь идет именно о том что джейквери - это бинарник на C++А то что ты пишешь - словоблудие если честно. Я хз как подобрать правильное слово к тому, когда человек многословно пишет банальности и очевидные вещи. Но я примерно понимаю зачем - можно пространно пиздеть на вообще не важные темы, и не программировать.Я этим так же сейчас занимаюсь.Короче мы с тобой пиздаболим попусту. А школьники с тем же успехом и на react и на питоне пишут лютую хуиту. И на нативном JS пишут тоже хуиту.Хотя не спорю джейквери планочку использования простейших вещей опускает до совсем уж уровня верстальщика. Однако я, что бы сделать последовательную анимацию, не заня в сущности библиотеки вообще - использовал промисы. Что означает что все равно придется глубже лезть в язык.
>то означает что все равно придется глубже лезть в язык.Типичный оператор жквери. Доку к animate, конечно, мы читать не будем.
>>1524493>мы пиздаболимДа нет, тут пиздаболию развел только ты. Что сказать то хотел? Да, JS говно. Да, есть настолько нелогичные моменты, что пришлось делать огромные надстройки над языком (Jquery, Typescript, etc...). Ты весь такой крутой бекенд-крудошлеп забежал высказать свое фи? Спасибо, очень ценное мнение.
>>1524679Си самый запутанный язык, потому что есть С++ и С#. JavaScript тоже можно с Java перепутать. PHP в этом намного проще
Аноны-реактеры, подскажите:Я в компоненту передаю число. Если число целое, то я просто на страничку добавляю span с этим числом, а если число дробное, то у меня должна возвращаться такая конструкция: <span><span>ЦЕЛАЯ ЧАСТЬ</span><span>,ДРОБНАЯ ЧАСТЬ</span></span>. Как такое реализовывать?
>>15247061) В жс все числа - флоаты. 2) Реакт это новый жквери? Как сложить два числа на жквери, как выяснить целую часть на реакте? При чём тут вообще реакт?3) n % 1 === 0; скажет тебе, 0 там после точки или нет.
>>1524714Да я знаю как дробную часть вычислить. У меня вопрос про то, как сделать так, чтобы у меня компонента в одном случае она просто в спан запихивала другой спан, а в другом случае запихивала в спан элемент, предварительно обернув его другим спаном.
>>1524728А если у меня 6-7 различных ситуаций?А если у меня есть массив и есть div, как я могу пройти по всему массиву и добавить его элементы внутрь этого дива, обернув каждый из них span?
Есть сервер на Node, работающий с api некоторого ресурса, который предоставляет ограниченное количество запросов за определенное время. Как можно реализовать очередь невыполненных запросов для их повторного вызова через некоторое время? Пока пришло в голову только писать свое говно на списке и таймере. Есть какие-то готовые и удобные решения?
>>1524825Ну, допустим, я выбрал throttled-queue. Как в нем использовать несколько ограничений? При чем речь не про ограничение для какого-то конкретного запроса, а про правила этого ограничения. Например: не 20 запросов в секунду, а 20 в секунду и 100 в 2 минуты. Как-то так... Документации особо нет. Возможно, я просто ахуел и требую решения уникальных ситуций... Кто эти модули вообще пишет* Обычные Васяны? И по оценкам других Васянов можно примерно понять чей продукт из Васянов более-менее нормальный?
>>1524849А как заменить совпавшие буквы на заглавные?s.replace(/[aeiou]/g, '$1'.toUpperCase());Не работает.
Делаю аутентификацию через соц сети с использованием passport. Для гугла и вк все было просто, а вот с фейсбуком я уже часа 3 ебусь и я уже просто не понимаю, чего он от меня хочет. Ради него даже пришлось https на localhost поставить, а он все равно нихуя не хочет работать.1 скрин результат перехода на https://localhost:3000/auth/facebook2 и 3 это я указал сайт и редирект в настройках developers.facebook моего приложенияhttps://pastebin.com/ahCeSnYWКод, который с паспортом связан, при чем с гуглом и вк все то же самое работает отлично.Где проёб, мб что еще сделать надо?
Давайте поиграем? Пишем по одной строчке и собираем программу, запускаем ее и смотрим результат.Первая строчка:const 2chProgram = () =>
Сап, котаны, вкатывальщик на проводе. Насколько хорошо нужно знать js рядовому фронтэндеру?Я прост смотрю на все эти реакты в связке с редуксами и там чет мало похоже на задачи из учебников по js.Что будет если сразу начать учить реакт с его jsx?
>>1525045> Что будет если сразу начать учить реакт с его jsx? ты найдешь какую-то работу быстрее, чем если бы ты задротил сам js.Ты сначала осваиваешь весь необходимый на рынке стек технологий на уровне джуна и идешь за опытом, а потом уже задрачиваешь язык до уровня ниндзя-мастера.
>>1525099Я не про марСтолько хуеты нарозгребал за месяц до сих пор отойти не могуВстречаю сотни строк копипаст говнища только у ебаных мутантов, просто не мутируйте ебать сложно что лиЛадно еще жквери мувисирчеры но как можно было дойти до реакта и не мочь в лукапы на 3 строчки высерая такое >>1525088
Господа, нуждаюсь в вашей помощи.Есть два массива.let a = ['l', 'o', 'h'];let b = ['a', 'l', 'o', 'n', 'h'];Второй массив содержит все символы из первого.Как проверить массивы на такие совпадения?
>>1525110В идеале описать функция function twoArrays(a, b) {}которая вернула бы true, если один массив содержит все буквы второго.twoArrays('loh', 'alonh') //truetwoArrays('loh', 'alonf') //false
>>1525110Что значит "проверить". Результатом что должно являться? Просто true/false или массив совпадений?arr.filter(item => arr2.includes(item));
>>1525129За (n+m)logn - изи, за линейное - хз, я не олимпиадник. Не уверен, что так вообще можно. Если можно, вбрасывай линк на материал.
>>1525134Точно, я проебался. Линейным можно только если первый массив должен быть строго в таком же порядке во втором массиве (то есть быть подпоследовательностью), почему-то подумал из ОП-примера что это так.
>>1525134>За (n+m)logn>>1525129>За линейное время слабо?>>1525120>такс-такс, что тут у нас? nm? найсЗа какое n вам тянка даст ?
>>1525088Ебать, относительно недавно вам дали область видимости переменных, типы до сих пор не завезли в нативный js, а константные значения язык позволяет мутировать... Ох, ебать, и на этом говне ведь кто-то пишет "приложения"...
let a = ['l', 'o', 'h'];let b = ['a', 'l', 'o', 'n', 'h'];const fold = (arr,f) => !arr[0] ? true : f(arr[0]) && fold(arr.slice(1),f)const hui = (a,b) => { const content = b.map(e => ({[e] : true}) ).reduce( (a,obj) => ({...a, ...obj}) ); const includes = e => !!content[e]; return fold(a,includes);}
>>1525153Область видимости была всегда, типы были с самой первой версии, константные значения мутировать нельзя. Если в консте лежит ССЫЛКА на массив или объект - то ссылку мутировать и нельзя. Сам объект или массив тут уж точно ни при чём.Неосилятор неосилил и жалуется, спешите видеть.
Аноны, есть вопрос по гитхабу и реакту, знаю что есть тред отдельный по это все, но все же.Вот я создал репу на гитхабе, запушил, решил сделать ветку gh-pages для хостинга там. В новую ветку перешла весь мастер целиком, хотя мне по сути нужны только внутренности папки build. В итоге я нашел npm gh-pages, с которым все получилось, но пришлось добавлять 2 скрипта и еще одно свойство в джейсонину, это какая-то хуита. Как это делается все руками? Как это делается по-человечески? Ветка gh-pages создается заранее и в неё заливается только build? Или папка отдельно заливается руками? Или тот npm пакет это дефолтный вариант?
>>1525088Поясните, что тут происходит. Массив, который подвергается .map(), содержит объекты, поэтому возвращается массив с изменёнными объектами.Я правильно понял?
>>1525169>Область видимости была всегдаДа, блять, что еще скажешь, кловн? У вас ебучий var на всю программу расползался, где бы его не объявили...>типы были с самой первой версииОпять же, какие нахуй "типы с самой первой версии"??? У вас любое объявление аргумента функции не сопровождается ничем, сиди, блять, гадай что это за хуйня и что она принимает на самом деле, то ли объект, то ли строку, то ли еще какую хуйню или изучай код этой ебучей функции...>ссылкаКакая еще, нахуй, ссылка? Наconst hui = { hui: 'jopa'};console.log(hui);hui.tupoi = 'pidor';console.log(hui);и иди на хуй. Продолжай писать и хвалить свое говно, чмо от мира айти...
>>1525251>У вас ебучий var на всю программу расползался, где бы его не объявили...>У вас ебучий var на всю программу расползался, где бы его не объявили...Пиздос. Ты жс-то в глаза видел когда-нибудь или прочитал эту хуйню где-то? Зайди блять в jsfiddle и проверь свою охуительную теорию, прежде чем открывать рот, пхпшник.>сиди, блять, гадай что это за хуйня и что она принимает на самом деле, то ли объект, то ли строкуЭто не значит, что в языке нет типов, даун, это значит что нет строгой типизации. Вот это новость, охуеть.>Какая еще, нахуй, ссылка?Как бы тебе блять объяснить, что такое передача по ссылке вообще понимаешь? В hui не объект, там ССЫЛКА блять на объект. Смотри.const a = {test:'name'}const b = a;a.test = 'jopa';console.log(a.test, b.test)// jopa jopaЭту ссылку ты изменить не можешь. Сам объект - можешь, но это блять уже никак не претензия к const, const свою работу делает как и должен. В жс объекты ВСЕГДА передаются по ссылке.
>>1525251hui = "ebalTvoyuMamku" выдаст выдаст ошибкуhui = {} тожеты же вносишь изменения в объект, который есть reference type, а не перезаписываешь ячейку памяти hui
>>1525259Да толку ему объяснять, видно же что это залётный какой-то из окодемических языков типа паскаля завалился.
>>1525165Зачем в content использовать map? Можно же сразу reduceconst content = b.reduce((a, i) => (a = true, a), {})
Хуясе, жабо-шиза пытается отстаивать "уникальность и полезность" своего недоязыка... Подрыв был виден даже с Марса, держу в кусе.
>>1525258А как запилить иммутабельный объект? Ну, чтобы нельзя было ебануть что-то типа hui.hui = 'pidor';другой анон
>>1525273Заморозить жи! https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/freezeа ещё можно запрещать изменение отдельных свойств через флаги
>>1525273Object.freeze()Но ситуация с объектами внутри объектов остаётся такая же - ссылки заморозишь, сами объекты нет.
>>1525272Чел, я готов не то что пукнуть, я бы тебе все твое лицо обосрал и размазал бы твоей же рукой... Ты начал выебываться тем, как знаешь "базовые понятия", упуская основной момент - язык полнейшая хуйня с дырами... Ах, блять, ну ладно-ладно, наверное, это такие фиииииичи.........
>>1525283Тебе ничего делать не нужно, ты уже всё сделал - при попытке рассказать про дыры и про хуйню ты обосрался и показал, что язык ты просто не знаешь. О чём вообще с тобой можно разговаривать, у тебя же кругозор и айкью как у хлебушка.
Ребята, хватит ссориться. Лучше подскажите новичку!Есть массив [2, 4, 7, 8, 10, 12].Нужно найти индекс лишнего числа. Лишнее число - 7, т.к. оно единственное нечетное.Другой вариант массива: [1, 3, 5, 8, 11].Лишнее - 8, т.к. единственное четное.Как определять лишнее число по таким условиям? Должна быть одна функция, которая определяет лишнее число в двух этих случаях.
>>1525273Ну многие обмазываются вот этим - https://github.com/immutable-js/immutable-js>>1525277Оно заморозит только поля верхнего уровня, но все вложенные объекты останутся мутабельными.
>>1525292>Она точно так выглядит?Да.Пока что придумал это:const result = arr.map( x => x % 2 === 0 );Так я получаю массив [true, true, false, true, true, true].Осталось понять, как выбрать единственное из всех элементов. И найти его индекс.
>>1525287>хлебушкаКакое же ты жалкое и мерзкое говно, смузи свое допил? А кофе брейк провел, пидарасина?
>>1525285Создать два массива - один для чётных чисел, второй для нечётных. Проверять по arr%2 == 0.Вернуть значение массива с длиной 1.
>>1525296Мне не значение нужно найти, а индекс этого значения. Если у меня нужное значение будет в новом массиве, его индекс будет 0.
>>1525296Тупое хуйло хотело что-то ответить мне, наверное, в очередной раз доказать какой у них удобный язык, функциональный. Но увидев очередного хуесоса >>1525290 , который решил вкатиться в это говно по рассказам о 300к/нсек (и поэтому пришел сюда со своим говном "задачка с массивами"), быстро переключился на него, ведь это единственная для него еда тут, на большее никто тут не способен.
>>1525303Маня, охлади свой пыл. Учу язык для себя. Развиваюсь всесторонне, понимаешь? Хотя ты кроме хуйло, хуесос, бля, сука, ы ничего не понимаешь, очевидно.
>>1525302Решил задачу костылями, но решил.function nTest(numbers) { const arr = numbers.map( x => x % 2 === 0 ); if ( arr.filter(x => x).length < arr.filter(x => !x).length ) { return arr.indexOf(true) } else { return arr.indexOf(false) }}
>>1525303Ты какой-то ненормальный. Я вообще с тобой не разговаривал, просто промазал по сообщению того анона. Зачем ты тут кидаешься калом? Тебе больше заняться нечем?>>1525316У меня в голове был такой вариантfunction getN(arr) { const even = [], odd = []; arr.forEach(item => item % 2 ? odd.push(item) : even.push(item)); return arr.indexOf(even.length == 1 ? even[0] : odd[0])}
>>1525295По затухающей идут твои потуги что-то высказать по теме. Через пару сообщений уже хрюкать начнёшь.
>>1525290Задача хуёвая, потому что не имеет отношения к жизни. В жизни не бываает "массивов с только одним лишним элементом". А если их там два? А если их три из шести?
>>1525320Да, вариант рабочий. Еще одна вариация того же:function getN(numbers) {...const odd = numbers.filter( x => x % 2 === 1 );...const even = numbers.filter( x => x % 2 === 0 );...return odd.length < even.length ? (numbers.indexOf(odd[0]) + 1) : (numbers.indexOf(even[0]) + 1);}Спасибо за помощь. :3
>>1525336[code]const findUnwanted = numbers => { const remainders = numbers.map(number => number %2); return remainders.findIndex( remainder => remainders.indexOf(remainder) === remainders.lastIndexOf(remainder))}[/code]
>>1525339Обосрался с разметкой и неймингом. Вот, короче.const numbers = [2, 4, 7, 8, 10, 12];const anotherNumbers = [1, 3, 5, 8, 11]const findIndexOfUnwanted = numbers => { const remainders = numbers.map(number => number %2); return remainders.findIndex( remainder => { return remainders.indexOf(remainder) === remainders.lastIndexOf(remainder) });}console.log(findUnwanted(numbers), findUnwanted(anotherNumbers));
>>1525336У меня сложность ниже>>1525343Не очень понятно, чем он оптимален, но читать и понимать суть его работы мне лично гораздо тяжелее, чем в >>1525341
>>1525345Тебе вот этоodd.length < even.length ? (numbers.indexOf(odd[0]) + 1) : (numbers.indexOf(even[0]) + 1);Читать легче, чем remainders.indexOf(remainder) === remainders.lastIndexOf(remainder)?Ну хуууууууй знает.
Еще вопросик есть.Строка: const str = '123a4v5';Как с помощью регулярки вытащить только цифры?Делаю:str.match(/\d+/)Получаю:["123", index: 0, input: "123a4v5", groups: undefined]
>>1525346function getN(numbers) {...const odd = [];...const even = [];...numbers.forEach((num, index) => num % 2 ? even.push(index), odd.push(index));...return odd.length < even.length ? odd[0] : even[0];}
>>1525320Такс, блэт. Вот более лучшее решение, здесь алгоритм не будет обходить массив до конца, если на то нет надобности.function getN(arr) { let even, odd; for (let i of arr) { if (even != undefined && odd != undefined) return i % 2 ? arr.indexOf(even) : arr.indexOf(odd); else i % 2 ? odd = i : even = i; }}
>>1525079Тот же вкатывальщик.Так я ведь почему спрашивал, смотрю всякие туду листы в связке реакт+редукс и вижу, что там код абсолютно не похож. Ни синтаксис, ни вообще то, что делается. Да и почему нет? Работали же люди с жиквари без знания языка. К тому же, я не говорил о том, чтобы не учить язык вообще, просто не углубляться в него особо. Скажем, освоить его на уровне решения простых задач из учебника, чтобы знать синтаксис и как он в общем работает. А дальше сразу переходить к реакту и редуксу.
>>1525421Что ты несёшь? Ты куда-то не туда смотришь. Не похож на жс только jsx, да и тот под капотом - просто вызовы react.createElement, всё остальное - это чистый самый обычный жс. Ткни пальцем - где в редуксе и реакте не жс?
>>1525425https://ru.reactjs.org/Ткни, плиз, пальцем, где он там похож, на код, который вы обсуждали выше?То есть очень может быть, что ты прав, есть же if and similarity of function, но так-то, со стороны, это мало похоже на копание в массивах, приведеннлое сверху.
>>15254341) С чего ты решил, что программирование на жс должно выглядеть как сплошоное копание в массивах? Код по ссылке выглядит как любой другой код на жс за исключением, опять же, jsx. Копания в массивах и объектах в редуксе и реакте полно. 2) Без умения копаться в массивах ты вообще нихуя в реальной жизни не напишешь.
Подскажите, будьте добры. Есть ли метод, который заменит мне все undefined в массиве на что-нибудь? Или есть самая короткая и простая реализация?Например, заменить на пробел. Массив:["u", "r", undefined, "s", "e", undefined, "w"]Нужно получить:["u", "r", " ", "s", "e", " ", "w"]
>>1525456["u", "r", undefined, "s", "e", undefined, "w"].map(item => typeof item === "undefined"?"":item);
>>1525421Завтра ищешь в интернете книжку HTML5 Canvas. Похуй если ничего не поймешь. Затем идешь на w3.org и изучаешь стандарты от корки до корки. Потом зубришь, именно, сука, вызубриваешь содержимое сайта developer.mozilla.org, чтобы от зубов отскакивало. Когда напишешь свой первый сайт - видеоредактор, по пути детально разобравшись в WebGL, скачиваешь и изучаешь любой редактор, рекомендую Notepad++ или Adobe Dreamweaver. Как переделаешь редактор, чтобы можно было добавлять объекты из 3DSMax и красивые 3D-переходы, можешь идти дальше - тебя ждет увлекательный мир JavaScript. WebCL, XUL, сверхбыстрый асинхронный Node.JS, сверхмощная мозговыебывательная многоуровневая обфускация. Отсос хиккующих выблядков / просто неудачников типа рейфага или Flash/Silverlight-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Аноны, подскажите, как в реакте элементу прописать два стиля?Т.е. у меня есть CSS модуль в котором прописано два стиля, stil1,stil2. Я хочу, чтобы к элементу применились сразу два этих стиля. Как такое прописывать?
>>1525505Первая вылетает с ошибкой Cannot assign to read only property '0' of object '[object String]'.Во втором случае className не реагирует {...style} и просто последний присваивает.
>>1525461Кмк, filter тут по смыслу лучше (поведение отличается):arr.filter(Boolean)arr.filter(i => i !== undefined)
Аноны, подскажите пожалуйста для очередного вкатывальщика - какой курс (с торрентов конечно) или книгу для изучения основ брать? И вопрос номер 2 - я уже знаю как создавать функции, объекты но задачи решаю в основном математические (codewarriors) - где брать задачи которые больше будут похожи на чем придётся заниматься на реальной работе в офисе?
>>1525492>и уже через пол годаработы. А перед этим, видимо, потратить несколько лет на хуйню в твоем посте?
>>1525542ну так тудулист же, потом тудулист на фреймворке, потом тудулист чтобы дергал тудушки с сервера.А реальные приложения это те же тудулисты, только в бОльших масштабах.Алгоритмические задачки кажутся бессмысленными, но они заставляют твой мозг искать и находить оптимальные решения, а этот навык легко переносится и на более высокоуровневые решения.А реальные проекты для бизнеса это в большинстве своем скучное формошлепство. А на бекенде крудошлепство.
>>1525542Если ты идешь именно на фронта, то скорее всего на работе придётся писать и переписывать некое SPA - на React/Vue (+Redux/Mobx/Vuex). Вёрстка так или иначе будет, поэтому флексы/гриды нужны, неплохо уметь верстать по PSD макету. Есть вариант, что у тебя будет какое-то говно-легаси, тогда придётся иметь дело с jquery (старайся избегать этого). Курс надо брать тот, который тебе зайдёт. На ютубе/coursehunters вариантов хватает.
>>1525543Делай дефолтные тудушки.Читай доку по реакту + редаксу/мобх. Этого для начала хватит. Можешь поднять бек на експрессе с какой нить бд.>>1525511конкатишь stilи в className'е
>>1525564Ну иди в питон тогда, вот инструкцияЗавтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>1525571Че для ноды можно сделать для портфолио? Кроме чятика. Мини-борду? Прикрутить вокруг чятика соцсеть? Что котируется работодателями?
>>1525492> Когда напишешь свой первый сайт - видеоредактор> можешь идти дальше - тебя ждет увлекательный мир JavaScriptКак он сделает сайт-видеоредактор без увлекательного мира JS? День прожил не зря.
Запускаю значит сервер на localhost и все работает как надо, но потом подключаю ноут к другому вайфаю, врубаю сервер и мне пишет, что страница недоступна ERR_EMPTY_RESPONSE.Помогите анончики, что это за хрень вообще?
>>1525678Тогда можно так начатьЗавтра ищешь в интернете книжку jQuery in action. Похуй, если ничего не поймешь. Затем идешь на MDN и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию жопоскриптового кода от W3Schools, чтобы от зубов отскакивало. Когда напишешь свой первый слайдер, по пути изучив верстку на html + css, скачиваешь и изучаешь любой джаваскриптовый фреймворк, рекомендую AngularJS. Как переделаешь слайдер, чтобы не использовал jQuery и грузил картинки через $http, можешь идти дальше – тебя ждет увлекательный мир фронтэнда. React/Redux, TypeScript, вебпак, бабели-шмабели. Отсос у хиккующих выблядков/просто неудачников типа питонистов или сишарп/джава-хуесосов, которые не размазывают макароны по экрану не заставит себя ждать, и уже через полгода ты будешь писать такие конфиги, что любой хипстер будет течь при упоминании твоего shit.js на npm.
>>1525441Чет проигрунькал. Чувак не знает языкнейм, смотрит на либу и думает "Ебать, что-то это не похоже на языкнейм". Логично.
>>1525571Че вы так жикавери не любите. Нормальная либа жи, а говно писать можно и на ваниле и на тайпскрипте.Тем более, что вон, миллионы мухов не могут ошибаться. 85% интернета на жквери написано.jQuery, the most popular JavaScript library ever created, is used in 85.03% of desktop pages and 83.46% of mobile pages.https://almanac.httparchive.org/en/2019/javascript#open-source-libraries-and-frameworksЛодаш на жалких 2% страниц всего используется.
>>1525780Ты даун? Вам, одаренным, уже несколько лет на пальцах объясняют, что весь набор фич кверей перекочевал в ядро языка и просто нет больше таких причин, которые бы могли заставить использовать жукавери.
>>1525784>>что весь набор фич кверейЧто за фичи, назови хотя бы три самых важных. Которые перекочевали в "ядро" языка из джейквери.И ты вообще понимаешь один из основных смыслов существования фреймворка, любого?Я думаю что большая часть рассуждений "джейквери не нужон, переписываем все говномагазины на реакт" - просто пиздабовльство очень поверхностно разбирающихся в этом вопросе людей. Адекватных аргументов почему джейквери в своей нише плох обычно не приводится.
>>1525786Раньше, чтобы забить гвоздь ты пользовался молотком.Потом, со временем, научился забивать гвозди голыми руками. Зачем тебе таскать с собой молоток, если бы уже можешь забивать гвозди голыми руками?
>>1525795И что блять, молоток это после этого хуевый инструмент? Ты реально не видишь изъянов в логике?
Жиквери-господин это старый пердун на прикормленном месте и он отдает себе отчет, что он поддерживает легаси, но деньги/лень служат ему оправданием.Неофиты и старперы-слоупоки, которые не пригрелись на хорошем месте, защищающие жуквери это самое дно айти. Даже червь-пидор лучше их, потому-что он осилил хелоу ворлд на анугуляре и пошел хотя бы эникейщиком работать на вменяемую работу.Нет смысла этим уважаемым дарованиям доказывать что-то обратное. Жиквери это их объективный уровень и их судьба. Не трогайте их и обходите их посты стороной.
>>1525795>>1525807Вы просто несете необоснованную максималисткую хуиту. Просто поверхностная болтовня - максимальная степень аргументации - это кривенькие аллегории.А на самом деле вы не понмаете где реально плох/хорош джейквере, и где нужен и не нужен реакт.На прямо поставленные вопросы в духе >>1525793Вы ответить не способны.Потому что в статейках вашего уровня нет адекватной аргуметации почему плохол/хорошо,а статьи крутых перцев которые реально разбираются в вопросе вам не потянуть.
>>1525793>Что за фичи, назови хотя бы три самых важныхsizzle => querySelectorajax => fetchdeffeded => Promise.animate => css transformБольше в жквери нихуя и нет.>джейквери не нужон, переписываем все говномагазины на реактА хули ты бросаешься из крайности в крайность? Как раз это - признак пиздабольства плохо разбирающегося человека. Реакт/Vue/Angular/Lodash НЕ АЛЬТЕРНАТИВА жквери, и никто об этом и не говорит. Альтернатива жквери - это es6, DOM API, Browser API. Нативные инструменты платформы. Никто не призывает "переписывать магазины на реакт", предлагают в следующий раз при разработке магазина не подключать жукверь, а просто напистаь обычный код на обычном голом жс. Для того чтобы найти элемент на странице и скрыть его ЖКВЕРИ НЕ НУЖЕН. Чтобы повесить на пару кнопок обработчики ЖКВЕРИ НЕ НУЖЕН. Чтобы сделать аякс-запрос ЖКВЕРИ НЕ НУЖЕН. А ведь это именно то, ради чего жквери подключен в 99% твоих "магазинов". Видел я эту хуйню, $('.knopka').on('click', function(){$(this).parent().siblings().find().parent().parent().next().closest()}) и вот эта вот хуйня бесконечная. Идиотский бестолковый траверс ДОМ 24/7 просто потому что ЖКВЕРИ МНЕ РАЗРИШИЛ ТАК ДЕЛАТЬ Я ВИДЕЛ ВСЕ ДЕЛАЮТ и полная пустота в голове, ни понимания первичности данных в интерфейсе, ни базы языка, нихуя, только говнкод и траверс ДОМ на каждый клик - вот и вся реальная практика жквери. А, ну да, ещё слайдер с пердежом килобайт на 500 и пара охуительных плагинов ещё на метр. Вот житуха-то. НУ НЕ НА РЕАКТЕ ЖЕ ДЕЛАТЬ ВЫ ЧТО БЛЯТЬ
>>1525800Да нет, нормальный. Просто НЕ НУЖЕН. Не нужно класть его в чемодан в каждую поездку, возить с собой в трамвае и в лифте и плакать если вдруг забыл его дома. Он всё так же хорош для тех, кто ни одного гвоздя в жизни не забил, но ТЕБЕ он больше не нужен. И нехуй его таскать с собой. Понимаешь?
>>1525937И в стандартизации. Может даже в основном в стандартах дело.Люди имея на руках библиотеки с отличной документацией, с примерами бест-практикс, с самой структурой побуждающей писать определенным порядком - умудряются так костылить и велосипедить,так что хоть свет туши.Тот анон в пример написания нативным JS ставил какой то всратый слайдер. Заебись сложность, космическая.А ты хотел бы ковырять приложение в котором какой нибудь маня-деятель наебашил свой реакт, с редуксом и сагами? Наебашил - ну как шмогла, документация - ебись сам, надежность велосипеда - а хуй его знает.
>>1525241Ты че дебил блядь, там один и тот же код копируется, меняется значение, которое собственно приходит каким-то аргументом. Это же пиздец нахуй. Ты че ебанат ебанный рот, пиздец не пиши нахуй больше ничего
>>1525241>Поясните, что тут происходит.>Массив, который подвергается .map(),>содержит объекты,>поэтому возвращается массив с изменёнными объектами.>Я правильно понял?Вообще-то массив не "подвергается map",а скорее при помощи .map,каждый элемент массива - изменяется функцией, указанной после стрелки. Эти элементы - возвращаются. А сам массив, никуда не возвращается, он присваивается переменной taskUpdated.Вот, для наглядности, её контент.Введи это, в консоли браузера у себя там:var task = {id: 2}; //вводные для инициализацииvar user = {tasks: [{id: 0}, {id: 1}, {id: 2}, {id: 3}]}; //и это.var taskUpdated = user.tasks.map(t => { //функция-хуюнкция if(t.id === task.id){ t.type = 'done'; return t; } return t})//смотри в консоль (клавиша F12)console.log( " taskUpdated", taskUpdated, "\n JSON.stringify(taskUpdated)", JSON.stringify(taskUpdated), "\n Array.isArray(taskUpdated)", Array.isArray(taskUpdated), //массив "\n typeof (taskUpdated[0])", (typeof taskUpdated[0]) //элемент массива - объект.);
Как замерить скорость выполнения запросов к бд? Пробовал вот такое https://pastebin.com/LcYgLH1b , но цикл while не останавливается через секунду. Пробовал менять while на for с ограниченным большим числом типа 100к, выводит count = 0.
>>1536384ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)ПЕРЕКАТ-> >>1525895 (OP)