Json отформатировал объект в простой массив с новым ключом - PullRequest
0 голосов
/ 19 марта 2019

У меня есть такой объект:

{
            "ABC":{"minValue":0,"maxValue":5},
            "XYZ":{"minValue":0,"maxValue":5},
            "PQR":{"minValue":0,"maxValue":5},
            "overall":{"minValue":0,"maxValue":5}
}

Я пытаюсь создать простой массив, подобный этому

[
            ["type":"ABC","minValue":0,"maxValue":5],
            ["type":"XYZ","minValue":0,"maxValue":5],
            ["type":"PQR","minValue":0,"maxValue":5],
            ["type":"overall","minValue":0,"maxValue":5]
]

, но не понимаю, как его получить.

Вот моя попытка:

var s = scoreFilters;  //my json object
    var out = Object.keys(s).map(function(data){
        console.log(data)
        return [["type":data,"minValue":data.minValue,"maxValue":data.maxValue]];
    });

Ответы [ 3 ]

2 голосов
/ 19 марта 2019

Предполагая, что вы хотите массив объектов для вывода, вы можете .map Object.entries ввода:

const obj = {
  "ABC":{"minValue":0,"maxValue":5},
  "XYZ":{"minValue":0,"maxValue":5},
  "PQR":{"minValue":0,"maxValue":5},
  "overall":{"minValue":0,"maxValue":5}
};
const arr = Object.entries(obj).map(([type, { minValue, maxValue }]) => ({
  type,
  minValue,
  maxValue
}));
console.log(arr);
2 голосов
/ 19 марта 2019

Вы можете использовать Object.entries, map и синтаксис распространения следующим образом:

let input = {"ABC":{"minValue":0,"maxValue":5},"XYZ":{"minValue":0,"maxValue":5},"PQR":{"minValue":0,"maxValue":5},"overall":{"minValue":0,"maxValue":5}}

let output = Object.entries(input).map(([type, values]) => ({ type, ...values}))

console.log(output)
1 голос
/ 19 марта 2019

Вы можете использовать Object.entries() и .map(), чтобы получить массив объектов:

const data = {
  "ABC": {"minValue": 0,"maxValue": 5},
  "XYZ": {"minValue": 0,"maxValue": 5},
  "PQR": {"minValue": 0,"maxValue": 5},
  "overall": {"minValue": 0,"maxValue": 5}
};

const result = Object.entries(data)
                     .map(([ k, v ]) => Object.assign({}, {type: k},  v));
                     
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...