.map значения группировкой по ключу

Мои данные выглядят так:

replaceName =
0: {Number: 1, newNumber:"1", name: "tom" }
1: {Number: 2, newNumber: "2", name: "john" }
2: {Number: 2, newNumber: "2", name: "Greg" }
3: {Number: 3, newNumber: "3", name: "Phil" }
4: {Number: 4, newNumber: "4", name: "tim" }
5: {Number: 4, newNumber: "4", name: "paul" }

Я хочу сгруппировать значения, одинаковые для newNumber.

Результат будет примерно таким:

result = [
1: {Number: 1, newNumber:"1", name: "tom" }
2: [{Number: 2, newNumber: "2", name: "john" }, {Number: 2, newNumber: "2", name: "Greg" }]
3: {Number: 3, newNumber: "3", name: "Phil" }
4: [{Number: 4, newNumber: "4", name: "tim" }, {Number: 4, newNumber: "4", name: "paul" }]

Я пробовал несколько способов, и самый близкий, к которому я пришел, это:

    const result = _.mapValues(replaceName, function(group, key) {
        return key === 'newNumber' ? _.groupBy(group, 'newNumber') : group;
  });

Я знаю, что в моем сценарии это не работает. Ключ нового объекта также соответствует newNumber, как и в моем ожидаемом результате.

Любая помощь здесь будет оценена по достоинству. Используем lodash и реагируем.

выходной результат недопустим в этой форме, вы хотели вместо этого написать 2: [...] (массив объектов)?

Lyubomir 14.08.2018 12:37

Да буду обновлять

Tom Rudge 14.08.2018 12:47

Являются ли получаемые данные массивом json

Harikrishnan 14.08.2018 12:54

Да, это массив json

Tom Rudge 14.08.2018 12:56
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
4
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы неправильно понимаете, как это делают groupBy. Достаточно использовать только groupBy:

const result = _.groupBy(replaceName, 'newNumber')

Другие вопросы по теме