Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2021, 08:53
Интересующийся
Отправить личное сообщение для OlesiaBOM Посмотреть профиль Найти все сообщения от OlesiaBOM
 
Регистрация: 05.11.2020
Сообщений: 22

массив с глубокой вложенностью объектов
Нужно вернуть количество comments и post автора. Как посчитать количество comments ?

const getQuantityPostsByAuthor = (listOfPosts, authorName) => {
  let att = 0;
  let com = 0;
  listOfPosts.forEach(function (arrayItem) {
    if (arrayItem.author === authorName) {
      att += 1;
    }
    if (arrayItem.comments.author === authorName) {//попытка вернуть количество comment ;
      com += 1;
    }
  });
  return `Post:${att},comments:${com}` //`Post:${att} ,comments:${com}`;
};
let listOfPosts2 = [
  {
    id: 1,
    post: 'some post1',
    title: 'title 1',
    author: 'Ivanov',
    comments: [
      {
        id: 1.1,
        comment: 'some comment1',
        title: 'title 1',
        author: 'Rimus'
      },
      {
        id: 1.2,
        comment: 'some comment2',
        title: 'title 2',
        author: 'Uncle'
      }
    ]
  },
  {
    id: 2,
    post: 'some post2',
    title: 'title 2',
    author: 'Ivanov',
    comments: [
      {
        id: 1.1,
        comment: 'some comment1',
        title: 'title 1',
        author: 'Rimus'
      },
      {
        id: 1.2,
        comment: 'some comment2',
        title: 'title 2',
        author: 'Uncle'
      },
      {
        id: 1.3,
        comment: 'some comment3',
        title: 'title 3',
        author: 'Rimus'
      }
    ]
  },
  {
    id: 3,
    post: 'some post3',
    title: 'title 3',
    author: 'Rimus'
  },
  {
    id: 4,
    post: 'some post4',
    title: 'title 4',
    author: 'Uncle'
  }

];
console.log(getQuantityPostsByAuthor(listOfPosts2, 'Rimus'));
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2021, 10:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

OlesiaBOM,
const getQuantityPostsByAuthor = (listOfPosts, authorName) => {
    let att = 0;
    let com = 0;
    listOfPosts.forEach(({ author, comments }) => {
        att += author === authorName;
        if (comments) com += comments.filter(({ author }) => author === authorName).length
    })
    return `Post: ${att}, comments: ${com}`
};
let listOfPosts2 = [{
        id: 1,
        post: 'some post1',
        title: 'title 1',
        author: 'Ivanov',
        comments: [{
                id: 1.1,
                comment: 'some comment1',
                title: 'title 1',
                author: 'Rimus'
            },
            {
                id: 1.2,
                comment: 'some comment2',
                title: 'title 2',
                author: 'Uncle'
            }
        ]
    },
    {
        id: 2,
        post: 'some post2',
        title: 'title 2',
        author: 'Ivanov',
        comments: [{
                id: 1.1,
                comment: 'some comment1',
                title: 'title 1',
                author: 'Rimus'
            },
            {
                id: 1.2,
                comment: 'some comment2',
                title: 'title 2',
                author: 'Uncle'
            },
            {
                id: 1.3,
                comment: 'some comment3',
                title: 'title 3',
                author: 'Rimus'
            }
        ]
    },
    {
        id: 3,
        post: 'some post3',
        title: 'title 3',
        author: 'Rimus'
    },
    {
        id: 4,
        post: 'some post4',
        title: 'title 4',
        author: 'Uncle'
    }

];
console.log(getQuantityPostsByAuthor(listOfPosts2, 'Rimus'));
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2021, 10:39
Интересующийся
Отправить личное сообщение для OlesiaBOM Посмотреть профиль Найти все сообщения от OlesiaBOM
 
Регистрация: 05.11.2020
Сообщений: 22

Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать массив объектов в массив массивов sovsem-nub Events/DOM/Window 4 12.05.2018 21:56
Массив объектов Tanya51 Общие вопросы Javascript 10 16.07.2017 14:41
Массив объектов voodoo_dn Общие вопросы Javascript 8 26.12.2014 15:44
Массив объектов doox911 Библиотеки/Тулкиты/Фреймворки 6 16.01.2014 22:36
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10