Size: a a a

Front-end developers

2021 February 16

АГ

Алексей Грэй... in Front-end developers
с удовольствием, как и "гугл и как учебники по js/jquery", но что конкретнее искать? я надеюсь, что кто-то поймет что я имею в виду лучше, чем я могу сформулировать, не знаю как это все правильно называется. бывают другие не знают, а я понимаю, потому что сталкивался
источник

DE

Denis Evlampiev in Front-end developers
Oleg Junior
Добрый день! Есть ли разница в объединении спредом массивов и объектов?
Например:
const arr1 = ['E_01','Jack',32]
const arr2 = ['Software Dev','Paris']
const mergedArr = [...arr1,...arr2]
// здесь вроде O(n) в нашем случае 5 итераций
const emp = {
'id': 'E_01',
'name': 'Jack',
'age': 32,
'addr': 'India'
};

const job = {
'title': 'Software Dev',
 'location': 'Paris'
};
const mergedObjects = {...emp, ...job};
// ???
Привет. Насколько понимаю, не должно быть разницы.
Чтобы объединить массивы нужно пройтись по ним. Для этого они будут итерироваться от нуля до length - 1 и копировать элементы в новый массив.
А чтобы объединить объекты нужно получить список свойств, перебрать их и скопировать свойства в новый объект. Даже если учитывать, что появится лишний цикл на получение списка свойств, сложность все равно останется линейной
источник

OJ

Oleg Junior in Front-end developers
Denis Evlampiev
Привет. Насколько понимаю, не должно быть разницы.
Чтобы объединить массивы нужно пройтись по ним. Для этого они будут итерироваться от нуля до length - 1 и копировать элементы в новый массив.
А чтобы объединить объекты нужно получить список свойств, перебрать их и скопировать свойства в новый объект. Даже если учитывать, что появится лишний цикл на получение списка свойств, сложность все равно останется линейной
спасибо. понял
источник

DE

Denis Evlampiev in Front-end developers
Алексей Грэй
Не знаю понятно ли я сформулирую, надеюсь что да. Короче, есть разные контейнеры с радио-кнопками, надо  чтоб в каждом отдельном можно было добавить активный класс выбранному элементу, убирая его у сиблингов. но чтоб это не влияло на другие контейнеры., и чтоб в каждом можно(нужно) было выбрать один из вариантов, не убирая активный класс у выбранного в другом контейнере. у контейнеров есть уникальные классы, но можно ли как-то грамотно динамически прописать это правило "мультиселекта"? то есть "мультирадио" в моем случае. или цепляться к родительскому классу каждого контейнера? в пределах одного контейнера все изи, код такой, как грамотно распространить его с другими? parent find siblings? jQuery('.attr-container label').click(function() {
 jQuery('.attr-container label').removeClass('attr-selected');
 jQuery(this).addClass('attr-selected');
});
Посмотреть как работают обычные radio кнопки и искать группы по одинаковым именам))
источник

АГ

Алексей Грэй... in Front-end developers
мне надо лейблу той, что выбрана, добавлять класс, и так в каждом контейнере
источник

DE

Denis Evlampiev in Front-end developers
Алексей Грэй
мне надо лейблу той, что выбрана, добавлять класс, и так в каждом контейнере
radio или обернута в label или привязана по id for. Не должно быть никаких проблем найти label
источник

АГ

Алексей Грэй... in Front-end developers
чтоб не сваливать длинную портянку своей структуры, тут она уже слита https://stackoverflow.com/questions/66221711/how-to-choose-this-element-in-each-containerjquery
источник

DE

Denis Evlampiev in Front-end developers
Сделай какой-нибудь общий класс для контейнеров
Подпишись на событие изменения значения у radio внутри этого контейнера
Когда выбросится событие, ищи родительский контейнер по классу
В нем найди все label с классом attr-selected и удали класс
Потом добавь класс attr-selected тому label-у, который привязан к radio с изменившимся значением
источник

~

~ in Front-end developers
не могу понять, почему редьюс останавливается после 3го прохода, функция должна мержить 2 массива и сортировать их (сорт отключен). песочница: https://codesandbox.io/s/falling-paper-29zr0?file=/src/index.js
источник

DE

Denis Evlampiev in Front-end developers
~
не могу понять, почему редьюс останавливается после 3го прохода, функция должна мержить 2 массива и сортировать их (сорт отключен). песочница: https://codesandbox.io/s/falling-paper-29zr0?file=/src/index.js
splice удаляет элементы из исходного массива. А reduce проверяет существует ли свойство перед тем как вызывать callback.
Т.е. он проходит по массиву 3 раза и каждый раз удаляет из него один элемент. Остается массив [3,2,3], в котором редьюсер ищет индексы 3, 4 и 5 которых нету, и ничего не делает
источник

~

~ in Front-end developers
Denis Evlampiev
splice удаляет элементы из исходного массива. А reduce проверяет существует ли свойство перед тем как вызывать callback.
Т.е. он проходит по массиву 3 раза и каждый раз удаляет из него один элемент. Остается массив [3,2,3], в котором редьюсер ищет индексы 3, 4 и 5 которых нету, и ничего не делает
О_О спс
источник

OJ

Oleg Junior in Front-end developers
Считаете ли вы что неполноценные фронтенд фреймворки (типа библиотека React) занимаются по сути переносом сложности разработки в другую плоскость? В инженерии есть принцип необходимой вариативности: "только сложность может держать под контролем другую сложность." Во фронтенд разработке основная сложность это приведение разрозненных элементов (компонентов) к единому валидному состоянию объекта (в данном случае страницы) за ограниченный промежуток времени. Пользователь не должен видеть переход состояния ( промежуточные состояния) страницы. React например решает эту проблему путем переноса комбиноторной сложности проектирования перехода состояния системы, в сложность проектирования зависимостей состояния елементов от данных и от жизненных циклов состояния. По сути сложность не убирается, она только конвертируется в другую как по мне.
источник

NM

Niccolo Machiavelli in Front-end developers
what the hell was that?!
источник

P

Philipp in Front-end developers
Oleg Junior
Считаете ли вы что неполноценные фронтенд фреймворки (типа библиотека React) занимаются по сути переносом сложности разработки в другую плоскость? В инженерии есть принцип необходимой вариативности: "только сложность может держать под контролем другую сложность." Во фронтенд разработке основная сложность это приведение разрозненных элементов (компонентов) к единому валидному состоянию объекта (в данном случае страницы) за ограниченный промежуток времени. Пользователь не должен видеть переход состояния ( промежуточные состояния) страницы. React например решает эту проблему путем переноса комбиноторной сложности проектирования перехода состояния системы, в сложность проектирования зависимостей состояния елементов от данных и от жизненных циклов состояния. По сути сложность не убирается, она только конвертируется в другую как по мне.
в целом, ничто не мешает тебе писать на ванили. Даже вакансии можно найти при желании. Просто со временем ты придешь к тому, что захочешь написать свою библиотеку, потому что тебя достало описывать функционал для каких-то базовых вещей, который есть в каждом проекте (типа динамического создания элементов). И тут уже нюансы: ты уверен, что напишешь лучше? Ты уверен, что это проще?
источник

OJ

Oleg Junior in Front-end developers
Philipp
в целом, ничто не мешает тебе писать на ванили. Даже вакансии можно найти при желании. Просто со временем ты придешь к тому, что захочешь написать свою библиотеку, потому что тебя достало описывать функционал для каких-то базовых вещей, который есть в каждом проекте (типа динамического создания элементов). И тут уже нюансы: ты уверен, что напишешь лучше? Ты уверен, что это проще?
ммм. ну да согласен. просто трубят все что реакт упрощает разработку. по мне так это не очевидно.
источник

P

Philipp in Front-end developers
Oleg Junior
ммм. ну да согласен. просто трубят все что реакт упрощает разработку. по мне так это не очевидно.
а ты никого не слушай, и напиши хотя бы что-то простое сначала на ванили, а потом на реакте. И все станет немного очевидней. А потом ты станешь крутым разрабом и захочешь написать что-то большое на ванили, тогда все станет совсем очевидно. Главный вопрос вот в чем: с чего ты взял, что эти сложности Реакта куда-то денутся при разработке на ванили? Ну, называется будет иначе, но отслеживание жизненных циклов разных частей приложения никуда не денется, хоть на чем пиши, просто разное количество уровней абстракции
источник

OJ

Oleg Junior in Front-end developers
Philipp
а ты никого не слушай, и напиши хотя бы что-то простое сначала на ванили, а потом на реакте. И все станет немного очевидней. А потом ты станешь крутым разрабом и захочешь написать что-то большое на ванили, тогда все станет совсем очевидно. Главный вопрос вот в чем: с чего ты взял, что эти сложности Реакта куда-то денутся при разработке на ванили? Ну, называется будет иначе, но отслеживание жизненных циклов разных частей приложения никуда не денется, хоть на чем пиши, просто разное количество уровней абстракции
я немного о другом. реакт упрощает разработку сложных приложений часично из-за того что разработчики пишущие на реакте уже превыкли к новой сложности. но это не упрощение разработки в целом. хотя частично да фреймворки решают
источник

P

Philipp in Front-end developers
Oleg Junior
я немного о другом. реакт упрощает разработку сложных приложений часично из-за того что разработчики пишущие на реакте уже превыкли к новой сложности. но это не упрощение разработки в целом. хотя частично да фреймворки решают
сколько у тебя опыта разработки?
источник

OJ

Oleg Junior in Front-end developers
Philipp
сколько у тебя опыта разработки?
пару лет
источник

P

Philipp in Front-end developers
Oleg Junior
пару лет
в смысле пару лет на реакте в коммерческих проектах?
источник