Edgar
Например, когда нужно отрендерить компонент реакта в зависимости от состояния переменной
Hide
ммм
Hide
прикольно )) а в состоянии переменной что?
Edgar
booleanVariable && <react component>
Edgar
прикольно )) а в состоянии переменной что?
То, что явно или неявно приводится к true / false
Hide
а то есть юзер кликнул или не кликнул ) потом рендерится если клик?
Hide
как вариант? правильно я понял?
Edgar
а то есть юзер кликнул или не кликнул ) потом рендерится если клик?
Ну если говорить в контексте реакта, то кликом юзера можно спровоцировать переход состояния компонента(изменение той boolean variable). А изменение этой переменной влечет за себя будет ли отрисовываться компонент
Edgar
Так что транзитивно да, может влиять
Hide
а ты Next js юзал?
Hide
мне кажется или оператор ... связан с ООП? 😆
Hide
const fruit = { sweet: true, weight: 10 } const lemon = { ...fruit, color: 'yellow', sweet: 0.02 } console.log(lemon)
Hide
получение нового объекта с добавленными свойствами другого... 🤔
🏴‍☠️
let a = 1; function surp(){ console.log('Функция сюрприз ))') } a && surp()
Не правильно так делать, надо if (a) surp();
Hide
Не правильно так делать, надо if (a) surp();
А тот чел говорил вау круто с этим оператором
Hide
🏴‍☠️
А тот чел говорил вау круто с этим оператором
логические операторы лучше не использовать для передачи управления кода функции
🏴‍☠️
let a = 1; function surp(){ console.log('Функция сюрприз ))') } a && surp()
let a = 1; function surp(param){ if (!param) { return; } console.log('Функция сюрприз ))') } surp(a)
Александр
увмидел на курсе "трюк" который помогает вызывать функцию без if ) кто пользовался? он практичный или так просто прикол особенность?
удобно при присвоении значения) Например ты не знаешь, проинициализировалась у тебя переменная или нет) Например параметр функции) function ({someAttr}){ let result = someAttr || "альтернативное значение" let result2 = someAttr && someAttr===1 && "то что в итоге запишется в result2" }
🏴‍☠️
Так более верно кмк. Функция принимает параметр и производит проверки
Александр
но читаемость общая падает) Иногда лучше лучше все же if'ы использовать)
Hide
Так не проще ифы сразу
Hide
Блин навыдумывают костылей в своих курсах
Александр
Блин навыдумывают костылей в своих курсах
Ну не всегда это удобно Я что-то пример придумать не могу никак, чтобы написать, когда это удобнее В голове про заполнение объекта для передачи, но что-то кейс конкретный не приходит в голову)
Александр
{ url: url || "/api/blabla, payload: (data && data.payload) || null }
🏴‍☠️
На модном жс
Александр
data?.payload || null тогда)
ну если такое доступно)
Александр
когда это было недоступно как раз использовали &&
🏴‍☠️
когда это было недоступно как раз использовали &&
да, optional chaining и nullish coalesing годные фичи
Александр
data?.payload || null тогда)
Меня в TS бесит отсутсвие ?. по дефолту. Это настраивается, но по дефолту он ругается на такие конструкции, тк не валидно с точки зрения проверки типов и наличия значения у атрибута или объекта
honey
добрый вечер маленьким кроликам!!! Как вы?? Я делаю те задачки на массивы (10шт), уже 10-ую. И там такой капец хд Элегантность не просто покинула чат, так ещё и кринж вместо себя выпустила хахаха. Как доделаю покажу)
honey
@mandarlne у тебя как дела с ними?)
honey
https://codepen.io/honeybunnyhhhhhhhhh/pen/JjMLKXj?editors=0012
honey
https://the-evening-code.com/posts/ten-javascript-exercises-with-arrays
это 10 задачек на массивы, ссылка на codepen (вот, я решила 10 задачек на массивы .о. Там если что нужно закомментировать все кроме интересующей задачи (например заккоментировать все задачки кроме 1-ой), чтобы посмотреть результат)
🏴‍☠️
https://codepen.io/honeybunnyhhhhhhhhh/pen/JjMLKXj?editors=0012
2. Reverse. Правильно будет пройти массив в цикле с конца. Для этого надо использовать обычный цикл for
Александр
https://codepen.io/honeybunnyhhhhhhhhh/pen/JjMLKXj?editors=0012
А встроенный функционал я так понимаю нельзя использовать?
Александр
Ну например compact можно через filter сделать)
Александр
и without через filter можно =)
Александр
unique можно через Set сделать
Александр
Я понимаю, что там на алгоритмы, просто накидываю, как можно еще))
🏴‍☠️
это 10 задачек на массивы, ссылка на codepen (вот, я решила 10 задачек на массивы .о. Там если что нужно закомментировать все кроме интересующей задачи (например заккоментировать все задачки кроме 1-ой), чтобы посмотреть результат)
5. Without Можно сделать через 1 цикл, например const without = (array, ...args) => { const result = [] for (let i = 0; i < array.length - 1; i += 1) { if (args.includes(array[i])) { continue; } else { result.push(array[i]) } } return result } const data = [1, 2, 3, 1, 2] console.log( without(data, 1, 2) )
Александр
А вот isEqual неправильно решена
🏴‍☠️
А встроенный функционал я так понимаю нельзя использовать?
Она только учится, сначала через циклы for)
Александр
А intersection как-то слишком сложно сделана) Можно через ассоциативный массив посчитать встречаемость И символы с количеством равным количеству массивов как раз будут общими) Но мне кажется тут задача была найти максимальный общий повторяющийся отрезок или я неправильно задачу понял?
🏴‍☠️
Попробуй не через includes
🏴‍☠️
@Tasvetla в целом молодец) Даем тебе домашку)) 1. Пофиксить isEqual 2. Написать Flatten через reduce без рекурсии 3. Упростить решение Intersection Рекомендация: вместо for of используй обычный цикл for (он быстрее)
Александр
если мы говорим про пересечение Set'ов, то решение правильное, а для массивов я считаю оно не правильно
Den
мне кажется или оператор ... связан с ООП? 😆
Это называется "Деструктуризация"
Den
Он не связан с ООП, ты и массивы можешь деструктуризировать
Den
Просто удобный синтаксис
Den
Есть еще деструктурирующее присваивание
Den
Вот где тема
Den
Каждый день юзаю
Den
Den
🏴‍☠️
const without = (array, ...args) => array.filter((item) => !args.includes(item));
Подожди, у нас циклы for по программе
Den
пускай лучше на цикле for
Den
реализуют методы
Den
map filter sort reduce
Den
Будет полезнее в разы
Den
И потом начнут их использовать, понимая что под капотом
Den
Я такое делал, когда учился
Den
Лучший способ понять и начать юзать эти методы
Den
Они наверн самые частые и полезные из фп циклов
honey
Александр
map filter sort reduce
я бы еще добавил some, every, find, findOne
Александр
find тоже часто используется)
Den
Ну это уже потом, сначал базу
🏴‍☠️
Переписать библиотеку lodash)
Александр
Переписать библиотеку lodash)
зачем? Это все встроенные сейчас методы для работы над массивом))