Size: a a a

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

2020 December 16

С

Сергей in JavaScript Noobs — сообщество новичков
const arrayRows = row.names.reduce((acc, name ) => {
acc.push({ type: row.type, name });
return acc;
},[])
источник

D

Delonge1 in JavaScript Noobs — сообщество новичков
Ща
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Не норм
источник

D

Delonge1 in JavaScript Noobs — сообщество новичков
Сергей
const arrayRows = row.names.reduce((acc, name ) => {
acc.push({ type: row.type, name });
return acc;
},[])
А тут,во втором reduce, мы пробегаемся по row.names.reduce - это по массиву имен получается и потому в acc пушим тот тип,что из первого reduce и имя,что из второго,да?
источник

С

Сергей in JavaScript Noobs — сообщество новичков
Второй reduce сам по себе
Он лишь создает массив людей и массив монстров

Про undefined не понятно
Я с телефона пишу )
источник

D

Delonge1 in JavaScript Noobs — сообщество новичков
Сергей
Второй reduce сам по себе
Он лишь создает массив людей и массив монстров

Про undefined не понятно
Я с телефона пишу )
Это я поправил,все нормально
источник

PW

Pan Włodzimierz in JavaScript Noobs — сообщество новичков
какая сложность алгоритма .repeat()?
источник

С

Сергей in JavaScript Noobs — сообщество новичков
Сергей
const arrayRows = row.names.reduce((acc, name ) => {
acc.push({ type: row.type, name });
return acc;
},[])
Это можно и в одну строку написать без фигурных скобок и return, но будет выглядеть скомкано. А так наглядее )
источник

j

jk in JavaScript Noobs — сообщество новичков
Delonge1
Это я поправил,все нормально
Вот ещё вариант для общего развития.

array.reduce((acc1, row) => {
 row.names.reduce((acc2, name) => {
   acc2.push({ type: row.type, name })
   return acc2
 }, acc1)
 return acc1
}, [])
источник

ч

чокопай in JavaScript Noobs — сообщество новичков
!report
источник

j

jk in JavaScript Noobs — сообщество новичков
Я думаю эта команда не функционирует.
источник

j

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

D

Delonge1 in JavaScript Noobs — сообщество новичков
jk
Вот ещё вариант для общего развития.

array.reduce((acc1, row) => {
 row.names.reduce((acc2, name) => {
   acc2.push({ type: row.type, name })
   return acc2
 }, acc1)
 return acc1
}, [])
Я вроде бы и понимаю,а вроде бы и сам такого и не написал бы(
источник

j

jk in JavaScript Noobs — сообщество новичков
Delonge1
Я вроде бы и понимаю,а вроде бы и сам такого и не написал бы(
К счастью писать такое и не нужно.
источник

R

Rafael 🦠 in JavaScript Noobs — сообщество новичков
👍
источник

D

Delonge1 in JavaScript Noobs — сообщество новичков
jk
К счастью писать такое и не нужно.
Ну методом reduce редко пользуются?
источник

j

jk in JavaScript Noobs — сообщество новичков
Delonge1
Ну методом reduce редко пользуются?
Пользуются постоянно. Но всему своё место.
источник

DM

Denys Mikhalenko in JavaScript Noobs — сообщество новичков
Delonge1
Я вроде бы и понимаю,а вроде бы и сам такого и не написал бы(
Вот тебе еще вариант
array.reduce((acc, { type, names }) => [...acc, ...names.map(name => ({ type, name }))], [])
источник

С

Сергей in JavaScript Noobs — сообщество новичков
Просто достаточно понять, что acc это типа "сумка" в которую запихиваются элементы. Acc может быть объектом, массивом или строкой. Т.е передается в конце reduce после функции  [] или {} или "". Если ничего не передать, тогда в acc будет первый элемент используемого масива
источник

D

Delonge1 in JavaScript Noobs — сообщество новичков
Denys Mikhalenko
Вот тебе еще вариант
array.reduce((acc, { type, names }) => [...acc, ...names.map(name => ({ type, name }))], [])
Это типо чтоб еще больше усложнить?)))
источник