Как посчитать количество повторяющихся значений свойств в объекте JS?

Есть объект вида
var Obj = {0: 100, 1: 105, 2: 145, 3: 100, 4: 500, 5: 145};

Нужно получить информацию о том, сколько одинаковых свойств у объекта и их ключи. В этом примере это 2 свойства, имеющие значения по "145" (2 ключа "2" и "5") и 2 свойства со значениями "100" (тоже 2 ключа "0" и "3").
  • Вопрос задан
  • 1907 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Object.entries(Obj).reduce((acc, [ k, v ]) => ((acc[v] = acc[v] || []).push(k), acc), {})

В результате получится объект, ключи которого - это значения свойств исходного объекта, значения - массивы соответствующих ключей. Чтобы узнать, сколько раз встречалось то или иное значение, достаточно просто получить длину нужного массива.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы