Переупорядочить массив объектов JSON, указав ключ c - PullRequest
0 голосов
/ 05 февраля 2020

Я использую Nuxt. js (Vuejs 2)

Это мои данные:

nodes: {},
models: [
        { id: 1, name: "samsung", node: 1, price: 56 },
        { id: 1, name: "samsung", node: 2, price: 68 },
        { id: 2, name: "nokia", node: 2, price: 45 },
        { id: 2, name: "nokia", node: 3, price: 49 }
      ]

Я хочу, чтобы переменная nodes была такой:

nodes: {
        1: [
            { id: 1, name: "samsung", price: 56 }
        ],
        2: [
          { id: 1, name: "samsung", price: 68 },
          { id: 2, name: "nokia", price: 45 }
        ],
        3: [
            { id: 2, name: "nokia", price: 49 }
            ]
      }

На самом деле я хочу, чтобы массив моделей был преобразован и разделен ключом node. Как я могу это сделать? (ES6 предпочтительнее)

1 Ответ

0 голосов
/ 05 февраля 2020

Это может помочь вам:

transformModels(models) {
  const transformedModels = {};

  models.forEach(model => {
    if(!transformedModels[model.node]) {
         transformedModels[model.node] = []; 
    }
    transformedModels[model.node].push(model);
  });

  return transformedModels;
}

nodes = transformModels(models);
...