Примечание. Вся заслуга в коде этой статьи, использованном в этой статье, принадлежит г-ну Раджешу Пиллаи. /strong>https://www.youtube.com/channel/UCvhIKdT611F_ebrmIbQ9VDQ

Недавно один из моих сэров разместил видео на YouTube, и это заставило меня почувствовать, что знание этого материала — это другое, а использование его разными возможными способами — это другой способ.

он разместил видео о функции уменьшения и о том, как ее использовать

Функция уменьшения

функция уменьшения - это, по сути, функция в списке или массиве с двумя периметрами... ну, я думаю, что изображение может объяснить лучше

я надеюсь, что понятно, что такое функция сокращения

так что давайте посмотрим на это с другого ракурса сейчас

предположим, что у вас есть массив

let data = [
  {name: "Raphel", gender: "male"},
  {name: "Tom", gender: "male"},
  {name: "Jerry", gender: "male"},
  {name: "Dorry", gender: "female"},
  {name: "Suzie", gender: "female"},
  {name: "Dianna", gender: "female"},
  {name: "Prem", gender: "male"},
];

и вы хотите распространять эти данные как

genderwise : {
"male":[
    {"name":"Raphel","gender":"male"},
    {"name":"Tom","gender":"male"},
    {"name":"Jerry","gender":"male"},
    {"name":"Prem","gender":"male"}
    ],
"female":[
    {"name":"Dorry","gender":"female"},
    {"name":"Suzie","gender":"female"},
    {"name":"Dianna","gender":"female"}
]}

так что, по крайней мере, я бы выбрал более подходящий ответ для цикла, как

const genderwise = {male: [], female: []};
data.forEach(item => genderwise[item.gender].push(item));

так что мы хотели бы спросить, почему сокращение видеть, что мы не обсуждаем правильный или неправильный путь, суть в том, что мы обсуждаем способы использования функции сокращения, да, мы также можем достичь результатов с помощью функции сокращения, и это было по крайней мере новым для меня

let data = [
  {name: "Raphel", gender: "male"},
  {name: "Tom", gender: "male"},
  {name: "Jerry", gender: "male"},
  {name: "Dorry", gender: "female"},
  {name: "Suzie", gender: "female"},
  {name: "Dianna", gender: "female"},
  {name: "Prem", gender: "male"},
];


let genderwise = data.reduce((acc, currentItem, index, fullArray) => {
    acc[currentItem.gender].push(currentItem);
  
    return acc;
  
}, {male: [], female: []});

согласно Раджешу, сэр

использование сокращения таким образом является более функциональным подходом к той же проблеме. Таким образом, вместо того, чтобы разделять создание константы и цикл, они оба объединяются в одну функцию редукции. Но чистый выход такой же. Но знание сокращения упростит множество случаев использования обработки данных, когда данные должны быть переданы, составлены и сопоставлены, о чем я вскоре поделюсь, но все можно сделать и без сокращения.

Вы можете найти полное видео на

Спасибо, сэр, за эти советы, надеюсь увидеть больше от вас