Сбор всей информации о конкретном поле из массива объектов в AngularJS

Название кажется несколько запутанным, поэтому я попытаюсь объяснить это как можно лучше.

У меня есть массив записей. Каждая запись имеет много полей, но меня интересует только 3: Location, Rating (от 1 до 5) и No Likes. Я хочу найти простой способ суммировать все рейтинги (например, 32 человека дали ему 1/5, 2 дали ему 2/5, 4 дали ему 3/5 и т. Д.) И все нет. из понравившихся для каждого места в массиве. Данный массив будет выглядеть так:

Entry no 1: Location: 'Burgers Wonderland', Rating: 3/5, No. of Likes: 3
Entry no 2: Location: 'Burgers Wasteland', Rating 5/5, No. of Likes: 4
Entry no 3: Location: 'Burgers Wasteland', Rating 4/5, No. of Likes: 5

И результат, который я хочу, должен выглядеть так:

Location: Burgers Wonderland
Rating 5/5: 0
Rating 4/5: 1
Rating 3/5: 1
Rating 2/5: 0
Rating 1/5: 0
No. of Likes: 8
----------------
Location: Burgers Wasteland
Rating 5/5: 1
Rating 4/5: 0
Rating 3/5: 0
Rating 2/5: 0
Rating 1/5: 0
No. of Likes: 4

Теперь у меня есть идея, как это сделать. Но это подразумевает много для циклов и не очень чистый код. Поэтому я бы спросил, есть ли более простой способ сделать это (например, какой-то эквивалент Set из java или что-то еще, где я мог бы писать места [«Burgers Wasteland»] ['noOfLikes'] ++)

Спасибо

javascript,arrays,angularjs,

0

Ответов: 0

Сбор всей информации о конкретном поле из массива объектов в AngularJS

Название кажется несколько запутанным, поэтому я попытаюсь объяснить это как можно лучше.

У меня есть массив записей. Каждая запись имеет много полей, но меня интересует только 3: Location, Rating (от 1 до 5) и No Likes. Я хочу найти простой способ суммировать все рейтинги (например, 32 человека дали ему 1/5, 2 дали ему 2/5, 4 дали ему 3/5 и т. Д.) И все нет. из понравившихся для каждого места в массиве. Данный массив будет выглядеть так:

Entry no 1: Location: 'Burgers Wonderland', Rating: 3/5, No. of Likes: 3
Entry no 2: Location: 'Burgers Wasteland', Rating 5/5, No. of Likes: 4
Entry no 3: Location: 'Burgers Wasteland', Rating 4/5, No. of Likes: 5

И результат, который я хочу, должен выглядеть так:

Location: Burgers Wonderland
Rating 5/5: 0
Rating 4/5: 1
Rating 3/5: 1
Rating 2/5: 0
Rating 1/5: 0
No. of Likes: 8
----------------
Location: Burgers Wasteland
Rating 5/5: 1
Rating 4/5: 0
Rating 3/5: 0
Rating 2/5: 0
Rating 1/5: 0
No. of Likes: 4

Теперь у меня есть идея, как это сделать. Но это подразумевает много для циклов и не очень чистый код. Поэтому я бы спросил, есть ли более простой способ сделать это (например, какой-то эквивалент Set из java или что-то еще, где я мог бы писать места [«Burgers Wasteland»] ['noOfLikes'] ++)

Спасибо

00JavaScript, массивы, angularjs,
Похожие вопросы