Большое спасибо, хоть и мало активности в плане лайков и тд, всё же огромное спасибо за труд. Мне лично очень нравится ваша подача. Чем больше подобного тем лучше) Многому учусь
Когда самостоятельно решал про объекты, ставил в условии if (obj1[key]) вместо hasOwnProperty. И как раз, когда ты заговорил про undefined я понял в чем проблема моего метода :) Спасибо!
Очень интересно, спасибо! Мои решения первой задачки на каррирование: function sum1(x) { let value = x; return function curriedSum(b) { if (arguments.length) { value += b; return curriedSum; } return value; }; } function sum2(x) { let value = x; const curriedSum = (y) => (value += y, curriedSum); return Object.defineProperty(curriedSum, 'value', { get: () => value }); } console.log(sum1(1)(2)(3)(4)(5)(100)()); console.log(sum2(1)(2)(3)(4)(5)(100).value);
Прикольная тема и всегда когда работу меняешь полезная)мне особенно тяжко даются вопросы когда на бумажке напишут какой то код в котором намешают всего. Типа такого. Тут сразу непонятно, толи нехватает вызова (), толи i не определена и тп (function(){ function doSomething(){ for(i = 0; i < 5; i++){ console.log(i); } } for(i = 0; i < 5; i++){ doSomething(); } });
Последнюю где то видел короткую запись (в одну строку), пока набросал такую const groupBy = (arr, cb) => arr.reduce((obj, item) => { const key = cb(item) obj[key] ? obj[key].push(item) : obj[key] = [item]; return obj }, { })
Время 6 утра, я ещё не ложился спать и поэтому не мог понять, почему в моем решении "!resultAfterCallback" не идёт операция дальше как надо, а выходит пустой объект😅😹 сейчас сдался и посмотрел видео - оказывается восклицательный знак был лишний хD
Спасибо за разборы, но разве 1 задачка подразумевает не реализацию множественного карирования?обычно если спрашивают сумму с более чем 2 вызовами то имеют ввиду это (данный прмиер взят с learn.js)
Привет, а может кто-то знает ответ на вопрос почему в первом случает возвращает число а во втором функцию, буду признателен если кто-то объяснит. function sum2(a) { return function (b) { return sum2(a + b) } } const sum = a => b => b ? sum(a + b) : a; console.log(sum(5)(4)(3)(15)()) console.log(sum2(5)(4)(3)(15)())
Большое спасибо, хоть и мало активности в плане лайков и тд, всё же огромное спасибо за труд. Мне лично очень нравится ваша подача. Чем больше подобного тем лучше) Многому учусь
Благодарю! Рад слышать!
присоединяюсь
Когда самостоятельно решал про объекты, ставил в условии if (obj1[key]) вместо hasOwnProperty. И как раз, когда ты заговорил про undefined я понял в чем проблема моего метода :) Спасибо!
И вам спасибо!) Рад, что помогает!
Даааа, практическим заданиям быть !!!
Как всегда на высоте
Cпасибо, Руслан!
Задачи на javascript \ frontend просто супер!
Ульби, повторюсь, ты - - лучший 😊
Так приятно, когда мои решения совпадают с твоими)))
Теперь придется заходить со всех акков и ставить тебе лайки
Ахаххах, круто же)) спасибо огромное!)
Третью задачу решил двумя способами.
В императивном стиле:
const groupBy = (arr, callbackFunction) => {
const result = {};
for (let value of arr) {
let key = callbackFunction(value);
(result[key] = result[key] || []).push(value);
}
return result;
};
...и в декларативном (через reduce вместо forEach):
const groupBy = (arr, callbackFunction) => arr.reduce((acc, value) => {
const key = callbackFunction(value);
(acc[key] = acc[key] || []).push(value);
return acc;
}, {});
В современном синтаксисе есть уже более простое решение этой задачи. 😜
const { groupBy } = Object;
Размять мозги точно не лишнее. Спасибо за примеры и их решения. Сделал сам, посмотрел твои варианты, вынес полезное.
Очень интересно, спасибо! Мои решения первой задачки на каррирование:
function sum1(x) {
let value = x;
return function curriedSum(b) {
if (arguments.length) {
value += b;
return curriedSum;
}
return value;
};
}
function sum2(x) {
let value = x;
const curriedSum = (y) => (value += y, curriedSum);
return Object.defineProperty(curriedSum, 'value', { get: () => value });
}
console.log(sum1(1)(2)(3)(4)(5)(100)());
console.log(sum2(1)(2)(3)(4)(5)(100).value);
ваша функция sum1 работает только с вызовом без аргумента в конце. Не корректно
Задачу с суммированием уже где только не видел :D спасибо за видео, как всегда полезно
Спасибо) Да, часто встречаемая задачка)
Прикольная тема и всегда когда работу меняешь полезная)мне особенно тяжко даются вопросы когда на бумажке напишут какой то код в котором намешают всего. Типа такого. Тут сразу непонятно, толи нехватает вызова (), толи i не определена и тп
(function(){
function doSomething(){
for(i = 0; i < 5; i++){
console.log(i);
}
}
for(i = 0; i < 5; i++){
doSomething();
}
});
Спасибо!)
Спасибо тебе, дальнейших успехов!
Канал - находка для меня, лайк , подписка)
Спасибо!) На канале много интересного) рекомендую!
Супер!
Спасибушки вам огромное за видео👏🏻
Спасибо, Эзам!
Круто , только вчера посмотрел первую часть) Спасибо за старания
Спасибо, друг, рад что вам нравится)
Последнюю где то видел короткую запись (в одну строку), пока набросал такую
const groupBy = (arr, cb) => arr.reduce((obj, item) => {
const key = cb(item)
obj[key] ? obj[key].push(item) : obj[key] = [item];
return obj
}, { })
Красиво!)
Не совсем понимаю зачем реализововать .map другими методами из es5
@@faust2134 какие другие методы?
@@TheProfessionalGambler .reduce
в видео это .forEach
Вот ровно таким же способом решил)
Определенно лайк👩💻
класс! отличное видео. и как сегда без соплей и воды!
Спасибо, друг!)
const groupBy = (arr, floor) =>
arr.reduce((acc, dig) => {
let num = acc[floor(dig)]
!num ? acc[floor(dig)] = [dig] : num.push(dig)
return acc
} ,{})
console.log(groupBy([6.1, 4.2, 6.2], Math.floor))
Лайк поставил, видео внимательно гляну попозже:) в любом случае спасибо!
Спасибо) Приятного просмотра!)
Спасибо тебе, за все видео в этом плейЛисте👍
огонь, хороший пример
Все как обычно круто, спс
Благодарю!)
Время 6 утра, я ещё не ложился спать и поэтому не мог понять, почему в моем решении "!resultAfterCallback" не идёт операция дальше как надо, а выходит пустой объект😅😹 сейчас сдался и посмотрел видео - оказывается восклицательный знак был лишний хD
Ps спасибо за видео! Потренировался, ждём ещё такие видосы!
Успехов!
@@UlbiTV спасибо большое)
Very big thanks man! You're cool
Спасибо! Круто! Давай еще))))))
Прикольно, все сам решил)
Круто же!!
Самый понятный канал!))
Хорошая разминка, благодарю, было ползено!
Во имя роста ++
Спасибо за ролик.
круто, спасибо
И вам спасибо за поддержку!
Спасибо большое за видео
спасибо! продолжай в том же духе
очень полезно, спасибо)
Жду видео с теор вопросами
Будет!)
Сейчас про 100 лайков звучит как сарказм 😂
Жалко больше нет решения задач на канале(
Спасибо😊
Спасибо за разборы, но разве 1 задачка подразумевает не реализацию множественного карирования?обычно если спрашивают сумму с более чем 2 вызовами то имеют ввиду это (данный прмиер взят с learn.js)
function sum(a) {
let currentSum = a;
function f(b) {
currentSum += b;
return f;
}
f.toString = function() {
return currentSum;
};
return f;
}
console.log( +sum(1)(2)(6) );
@@aleksandrmatyka3118 Крутое решение, лайк!)
Тоже есть с нескольких файлов с вопросами, которые мне задавали, могу вам куда-нибудь отправить на разбор?
На канале есть ссылка на мой вк, отправьте туда, интересные вопросы возьму оттуда) спасибо!)
It is cool !!! 👍
Thx!
Merci!
🙂🙂🙂
Извини но что надо на собеседование на full-stack JavaScript просто у меня через две недели собеседование я чуть-чуть боюсь что могу облажаться
Зависит от вакансии, конечно) можешь скинуть в вк, обсудим
Как собес то прошел?)
Спасибо
Парни привет, про какой видео идет речь в самом начале видоса, оно не вышло как я понимаю, где Тимур разбирает теоретические вопросов?
Плейлист «собеседования» на канале
уххх вторую задачу вообще не понимаю даже что сделать просят
//2-я задача
const obj1 = { a: 1, b: 2 };
const obj2 = { a: 7, b: -74, c: 3 };
function newObj(obj1, obj2) {
obj1 = Object.freeze(obj1);
Object.keys(obj2).reduce((newO, id) => {
newO[id] = obj2[id];
return newO;
}, obj1);
return obj1;
}
//3-я Задача
function groupF(arr, func) {
return arr.length && func && Array.from(new Set(arr.map((el) => func(el))));
}
);
красавчик
спасибоооо
lol то-есть я себе спокойно пишу на реакте не знаю проблем, а вот такую дичь не могу решить wft
Писать на реакте - просто знания фреймворка, а решать задачи - логика)
@@UlbiTV так я не верстаю, а пишу логику js, просто на практике такие задачи как на видео не встречаются
@@MrSvitS1337 встречаются, не прям такие, но решаемые похожим способом, например когда необходимо обработать какую то древовидную структуру
Так чуть короче
const compareObjects = (a, b) => {
for(const key in a){
if(b[key]){
a[key] = b[key];
}
}
}
const changeArrayToGroupObject = (arr, callBack) => {
const obj = {};
for(const key of arr){
const callBackRes = callBack(key);
if(obj[callBackRes]){
obj[callBackRes].push(key);
} else {
obj[callBackRes] = [key];
}
}
return obj;
};
I try to solve this and it lasts about hour and more , its good? Or not
If you did it, then great
350 лайк ))
Привет, а может кто-то знает ответ на вопрос почему в первом случает возвращает число а во втором функцию, буду признателен если кто-то объяснит.
function sum2(a) {
return function (b) {
return sum2(a + b)
}
}
const sum = a => b => b ? sum(a + b) : a;
console.log(sum(5)(4)(3)(15)())
console.log(sum2(5)(4)(3)(15)())
top
Спасибо!)
как вариант - {...obj1, ...ojb2}
Оно в obj1 замержит также и лишние свойства которые есть в ojb2. В данном примере в obj1 попадет some: 'some'
вторую задачу не понял ващее((9
Спасибо