Size: a a a

JavaScript Noobs — сообщество новичков

2020 July 13

d

dettrix in JavaScript Noobs — сообщество новичков
Vasiliy Zozulya
const { [id]: { eventAction, eventLabel } } = analyticSortFormat
а если свойства нет? всё? отвал с ошибкой.. мб через = дефолт прикрутить, чтоб комар носа не подточил🤔
источник

VZ

Vasiliy Zozulya in JavaScript Noobs — сообщество новичков
dettrix
а если свойства нет? всё? отвал с ошибкой.. мб через = дефолт прикрутить, чтоб комар носа не подточил🤔
ну проверку делать для этого
источник

EA

El Anonimo in JavaScript Noobs — сообщество новичков
Приветствую.
Есть массив данных с большой вложенностью, https://pastebin.com/LXp1PmHH. Нужно получить на выходе массив, содержащий элементы массива teams и значение sport.
Сейчас решил через forEach():
data.forEach((a) => a.favorites.forEach((f) => f.teams?.forEach((t) => teams.push({
 ...t,
 sport: a.sport
}))))
Можно решить через reduce()? Вроде, нет. Потому что на каждом проходе нужно будет влезть внутрь аккумулятора и вынуть его часть: favorites, teams, бегунок t.
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
El Anonimo
Приветствую.
Есть массив данных с большой вложенностью, https://pastebin.com/LXp1PmHH. Нужно получить на выходе массив, содержащий элементы массива teams и значение sport.
Сейчас решил через forEach():
data.forEach((a) => a.favorites.forEach((f) => f.teams?.forEach((t) => teams.push({
 ...t,
 sport: a.sport
}))))
Можно решить через reduce()? Вроде, нет. Потому что на каждом проходе нужно будет влезть внутрь аккумулятора и вынуть его часть: favorites, teams, бегунок t.
Нормально решение же
источник

EA

El Anonimo in JavaScript Noobs — сообщество новичков
Mikhail Shumilov
Нормально решение же
forEach() мутирует исходный массив.
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
El Anonimo
forEach() мутирует исходный массив.
teams выше задается ведь?
источник

EA

El Anonimo in JavaScript Noobs — сообщество новичков
teams лежит внутри favorites внутри исходного массива, как по ссылке.
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
teams.push -- куда пуштися?
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
result = [];
data.forEach((a) => a.favorites.forEach((f) => f.teams?.forEach((t) => result.push({
 ...t,
 sport: a.sport
}))))
источник

EA

El Anonimo in JavaScript Noobs — сообщество новичков
const teams = [] в начале, туда пушим данные.
источник

EA

El Anonimo in JavaScript Noobs — сообщество новичков
Т. е. этот итоговый массив данных teams после используется где-то.
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
А где мутируется что-то?
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
Я не понимаю
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
форыч ничего не меняет там, где лазает
источник

EA

El Anonimo in JavaScript Noobs — сообщество новичков
Мне казалось, forEach() не будет ничего менять в data, лишь выполнять действие с текущим элементом. Но в интернетах многие верят, forEach() как-то меняет содержимое data.
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
map меняет
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
источник

EA

El Anonimo in JavaScript Noobs — сообщество новичков
Кажись, понял. Посколько в моём коде forEach никаких действий не делает, кроме последнего forEach, то он никуда не кладёт текущие значения, потому что их нет.
И последний forEach пушит в другой массив.
источник

MS

Mikhail Shumilov in JavaScript Noobs — сообщество новичков
El Anonimo
Кажись, понял. Посколько в моём коде forEach никаких действий не делает, кроме последнего forEach, то он никуда не кладёт текущие значения, потому что их нет.
И последний forEach пушит в другой массив.
да, там всё четко
источник

EA

El Anonimo in JavaScript Noobs — сообщество новичков
Ссылка?
источник