ДВАЧ, ВЫРУЧАЙЕсть объектconst obj = {cat: false, dog: true, fish: false}и есть переменная:const animal = 'cat';Нужно вернуть объект, где значения false, а она true, т.е.:obj = {cat: true, dog: false, fish: false}Как это сделать?
>>207853942 (OP)хуйню какую то написал. В твоем объекта и так cat: false. Куда вернуть то нужно? Задачу опиши сначало правильно
>>207854615Я написал донельзя доходчиво:было: obj = {cat: false, dog: true, fish: false}стало:obj = {cat: true, dog: false, fish: false}cat - переменная, ключ в объекте с ее именем должен иметь значение true, остальные - false
Пиздос. Ты хоть самый начальный курс по JS пройди.Object.keys(obj).forEach(v => obj[v] = v === animal)
>>207854777анон кинул ответ в >>207854730>спасибо, но чёт не айссразу видно JS петушка. >поэлегантнеепотом смотришь такой "элегантный" код (особенно без коментариев) и мысленно разбиваешь голову тому, кто его написал
>>207855119Ты айбол или да? Форич работает только для массивов, а там объект.Обдал тебя тугой струёй своей урины
>>207855523>>207855722Так это и не элегантно нихуя. Вообще все решения в одну строчку ебучее говно, а ОП пидор.
>>207853942 (OP)obj.cat = true;obj.dog = false;obj.fish = false;Вроде так, хотя ты херово сформулировал задачу, я так толком и не понял, что надо сделать
>>207853942 (OP)не благодори.синьер фронт в епамеconst obj = {cat: false, dog: true, fish: false}const fn = (data) => {const cot = data.cat;const sobaka = data.dog;const riba = data.fish; if(cot===true) { const cat = {cat: cot} return {...data, cat: true} } if(sobaka===true) { const dog = {dog: sobaka} return {...data, dog: true} } if(riba===true) { const fish = {fish: riba} return {...data, fish: true} }}console.log(fn(obj))
>>207853942 (OP)Куда вернуть? Кто она? Что тебе мешает вернуть все, что захочешь? Нахуя переменная? Что все это дерьмо вообще значит? Выкатывайся нахой, короче.
>>207857332const obj = {cat: false, dog: true, fish: false}const fn = (data) => {const cot = data.cat;const sobaka = data.dog;const riba = data.fish; if(cot===true) return {...data, ...{cat: cot}} if(sobaka===true) return {...data, ...{dog: sobaka}} if(riba===true) return {...data, ...{fish: riba}}}console.log(fn(obj))
>>207857332Вот, православное решение, а не ваше школьничье говнище! Идите, суки, учите жс, а не тут кукарекайте, чмошники и педрилы!
>>207857494Оптимизировал немного кодconst obj = { cat: false, dog: true, fish: false}const fn = (data) => { const cot = data.cat; const sobaka = data.dog; const riba = data.fish; return (cot === true) ? ({ ...data, ...{ cat: cot } }) : (sobaka === true) ? ({ ...data, ...{ dog: sobaka } }) : ({ ...data, ...{ fish: riba } })}console.log(fn(obj))
Просто в ахуе с вас, столько программистов и не могут обычную задачку для собеседования на должность джуна решить. За что вам платят по 100к? Я бы вас всех к хуям уволил
>>207857643Оптимизация производительности и читаемости:const obj = { cat: false, dog: true, fish: false}const fn = ({ cat, dog, fish}) => { const data = { cat, dog, fish }; return (cat === true) ? ({ ...data, ...{ cat: data.cat } }) : (dog === true) ? ({ ...data, ...{ dog: data.dog } }) : ({ ...fish, ...{ fish: data.fish } })}console.log(fn(obj))
>>207857766Максимально адекватное "решение" изначально ебанутой задачи. Ребусы у вас там в столбах ифов.
>>207857822"ей путешок, ты объект и теперь ты будешь внутри моего объекта, понял? вливайся сука"что-то типа этого
>>207853942 (OP)const obj = {cat: false, dog: true, fish: false}let newObj = objnewObj.dog = falsenewObj.cat = truereturn newObjЛибо сразу для obj юзай let
>>207857683Недавно был тред скину бабки кто пруфанет 18 см свои. Нашелся один за 200 постов, c 17,5. Есть ПОДОЗРЕНИЕ что на анонимной доске пиздаболы школьные одни
>>207857778Код был с багом, ты не проверяешь keyдобавил key const obj = { cat: false, dog: true, fish: false}const fn = ({ cat, dog, fish}, key) => { const data = { cat, dog, fish }; return (key === "cat") ? ({ ...Object.keys(data).reduce((result, current) => { return { ...result, [current]: false } }, {}), ...{ cat: true } }) : (key === "dog") ? ({ ...Object.keys(data).reduce((result, current) => { return { ...result, [current]: false } }, {}), ...{ dog: true } }) : ({ ...Object.keys(data).reduce((result, current) => { return { ...result, [current]: false } }, {}), ...{ fish: true } })}console.log(fn(obj, "cat"))
>>207858399Применил паттерн функкционального программирование и вынес повторяющиесяоперации в отдельную функцию, код стал читаемейconst obj = { cat: false, dog: true, fish: false}const fn = ({ cat, dog, fish}, key) => { const data = { cat, dog, fish }; const resetObject = (obj) => { return Object.keys(obj).reduce((result, current) => { return { ...result, [current]: false } }, {}) } return (key === "cat") ? ({ ...resetObject(data), ...{ cat: true } }) : (key === "dog") ? ({ ...resetObject(data), ...{ dog: true } }) : ({ ...resetObject(data), ...{ fish: true } })}console.log(fn(obj, "cat"))
>>207858666 нет, это хорошо написанный код с точки зрения архитектуры, его легко расширять в интегрировать новые зависимости, это так называемое абстрактное программирование с применением паттернов функционального программирования.вот конечный результат:https://jsfiddle.net/q0y27zdh/ваша писанина в 1 строку не расширяется.мимо синьер EPAM
>>207859570От того твой код лучше не становится, лол. Хуй знает кем ты там руководишь если через 3 сообщения забыл с чего начинали
>>207859614ты пиздишь про расширение функционала невъебическое, но при этом строишь лесенку if(key === cat) else if(key === zalupa) else
>>207859614и да кстати, если в твою прекрасную функцию передать вместо cat слово "pizda" то у тебя вернется объект const obj = { cat: false, dog: false, fish: true}
>>207859915ну я делал по ТЗ, в ТЗ не сказано ничего про пизду, если скажут, то сделаю универсальность мимо синьер епама
>>207859817делал по ТЗ, если нужно будет, добавлю рекурсию и лесенка будет сама строится по кол-ву свойств в объекте
>>207860147синьор-помидор ошибка в том что если у тебя передается что либо отличное от dog или cat это будет восприниматься как fish.
>>207860205в ТЗ такого не сказано, что там может быть отличное, если попадется, я сделаю рекурсию по ключам и будет строится IF для всех ключей
>>207860239в тз и не сказано что нужно расширяемость делать, но ты ж как ответственный ератовец нахуярил
>>207860285Это тонкая грань которую не понять простому джуну вроде тебяЯ Синьер ЕПАМА и ты споришь со мной? ты то кто? фрилансер на вордпресе?Объясняю: я сделал задел на будущее, но я не решал задачи больше, чем требует ТЗ
>>207853942 (OP)Вкатится в 1с например:Переменная = Кот;Для каждого Элемент из Объект Цикл Если Объект.Элемент = Переменная Тогда Объект.Элемент = Истина; Иначе Объект.Элемент = Ложь; КонецЕсли; КонецЦикла;Просто рофел какой-то с JS макак. Чтобы чет в массиве поменять, высерают огромный говнокод на 10 страниц и сеньорами задачи школьные решают.
>>207860790Я интервьюировался в лохософт, так там ЧСВшные чушки, которые не знают, что такое мемоизация и динамическое программирование. Сидят такие ЧСВшные хiхлы и строят из себя хуй знает кого.Ясен хуй, я не пошёл в ту галеру, а въёбываю в топ-компании рашки сейчас за 180к)
В итоге взял решение анона с редьюсом.Как у нас в компании говорят - нихуя не понятно, но очень интересно.
>>207861076Ерат далеко не топ компания рашки или снг, обычный среднячок в котором максимально экономят на сотрудниках. в офисах ерата моего города даж на корпоративы запретили +1 брать
>>207861205Так а где я писал, что там работаю? Я ж не дауничь-долбоёбичь, чтобы на галере веслать.Благо у меня хватило знаний и скиллов устроиться в норм компанию и осваивать бюджет и прочие дотации от пидорах.
>>207853942 (OP)Как то так, опчик. obj = {cat: false;dog: true;fish: false;public function thisIsCatNow() {this.cat = true;this.dog = false;this.fish = false;}}--------------------return obj.thisIsCatNow();
>>207861846Небольшой фиксНе return obj.thisIsCatNow();Аif (animal === 'cat') {return obj.thisIsCatNow();}
>>207853942 (OP)const newObject = {};Object.keys(obj).forEach(async (objAnimal) => { if (objAnimal === animal) { newObject[objAnimal] = true; } else { newObject[objAnimal] = false; }});return newObject;Как-то так, не зря свои 62к получаю всё-таки
>>207862247едрить ты лолита, я в 3 раза больше получаю за то, что тупо копипизжу код со стаковерфлоу и прошу советов в соцсети "вДваче"
>>207862602такое чувство будто ты всех котов мира высчитываешь. Пизда понабирают копипастеров по объявлению, а те и рады ебалом щелкать.
как же охуенно, когда тучьки пытаются петросянить и соревнуются, кто больше говнокода высрет, а ты такой взял одно из первых решений и в хуй не дуешь, получая пусть даже эти жалкие 180к тупо просиживая жёпу в уютном офисе
>>207863629согласен.моё - это имитировать РАБоту задрота-погромизда, а на деле сидеть в соцсетях, болтать с эйчарочками-неформалочками и смотреть ютубчик за 180к)
>>207863940не слушай их, все что ты учишь сейчас - устареет через 3 лет.Руби бабки пока можешь, думай о себе, а не о владельце бизнеса.
>>207863940Не пробовал нанимать фрилансеров-нищуков-программистов, которые будут за тебя часть работы делать?
>>207857683Задача решается за 5 минут, но на РАБоте я бы ее решал часа 2.кто быстро решает - тот больше работает, а получает столько же
СЧИТАЮТ СЕБЯ ПРОГРАММИСТАМИ@НЕ МОГУТ ПОМЕНЯТЬ a И b МЕСТАМИ БЕЗ 3-ЕЙ ПЕРЕМЕННОЙ@НЕ МОГУТ РЕШИТЬ ЗАДАЧКУ С ЛИТКОДА УРОВНЯ EASYЕсть целочисленный массив, в котором все числа кроме одного повторяются дважды. Найти это число за линейное время без использования вспомогательных структур.
>>207879513 ок, ну в любом случае мое решение неправильное, не подойдет под 2334455, выведет 3 вместо 2
>>207880425ну я чета жал жал да забил хуй сложна слишком, на вандбоксе вон ссылку хуйнул и всё, жмякай плэй и нет проблем
>>207880425я жал ньюрепл, потом написал код а потом типа бля хуй знает где сохранить и поделиться, нажал save и тд, все нахуй обнулилось и попросило логин пароль в рот ебал
Почему последнее время среди тян так много программистов? Неужели куньему тупому окуколженному мозгу даже простые задачи уже непосильны
>>207853942 (OP)const dvachHelp = (o, animalString) => { const object = Object.create({}, o); for (let prop in object) { object[prop] = false; }; object[animalString] = true; return object;}
>>207880464бля, объясни свое решение. я понимаю что такое исключающее или, но мне казалось что оно должно true или false возвращать
>>207853942 (OP) let obj, lit; obj = {a: false, b: true, c: false}; lit = "a"; Object.keys(obj).map(key => obj[key] = key === lit ? true : false); console.log(obj);
>>207881297короче смысл такой, что исключающее или коммутативная и ассоциативная операция, а значит мы можем в нашем списке как угодно переставить одинаковые залупы, чтобы они стояли рядом, ну вот а если исключающее или на двух одинаковых хуйнях сделать то будет 0, вот и получится что 3xor3xor4xor4xor5xor5xor2 это то же самое что и 3xor3xor4xor4xor5xor5xor2 это то же самое что и 0xor0xor0xor2 а 0 xor любое число это любое число, поэтому в ответе 2, на какой бы позиции оно не стояло, но это всё хуйня, я когда писал я писал нашару, я не думал вообще про это, уже потом во втором посте охуел, что правильно сказал
>>207881297а, почему оно тру или фолс или не фолс, потому числа же это на самом деле 101010011110101 нули и единицы поэтому в языках погромирования зделоны побитовые операции типа и, или, ксор, хуяксор, залупор и прочее.
>>207881514впрочем ассоциативность тащемта нахуй и не нужна, это если тебе порядок вычислений важен, но поебать
>>207881514>>207881656все, спасибо, я не совсем понял решение но я разберу, но я понял что перепутал логические и бинарные операторы.
>>207853942 (OP)ИзиObject.entries(obj).reduce((animals, [name]) => ({ ...animals, [name]: name === 'cat',}), {})Мимо джс мидол зп 180к
>>207884010>интуиция прозрение третий глаз>(увидел зачеркнутую строчку с аналогичной задачей решаемой через xor)
Пиздец, чё за варианты с ифами вы предлагаете? Неужели не проще и лучше в плане расширяемости перебрать объект по ключам в циклеbс условием if (!key) return key?
const obj = {cat: false, dog: false, fish: false}const animal = 'cat';for(const key in obj){ obj[key] = key === animal;}