Преобразовать структуру данных в Javascript
Есть структура данных следующего содержания
var data = {"disk_name":["new","my"],"luks_uuid":["ec06935d-a72a-460a-aaba-205b58a53c01","87be6eca-e043-4139-b637-f91229631d29"],"uuid_disk":["58fbc706-d1ef-4922-8cf6-9078a7fa64cf","6708c974-158f-438a-9518-3225cecc9c0c"]}
Нужно преобразовать в следующий вид
list = [
{"disk_name":"new","luks_uuid":"ec06935d-a72a-460a-aaba-205b58a53c01","uuid_disk":"58fbc706-d1ef-4922-8cf6-9078a7fa64cf"},
{"disk_name":"my","luks_uuid":"87be6eca-e043-4139-b637-f91229631d29","uuid_disk":"6708c974-158f-438a-9518-3225cecc9c0c"}
]
Я ума не приложу, как правильно пройтись по этому json, чтоб собрать именно такую структуру. Прошу помощи
Ответы (1 шт):
Автор решения: Jean-Claude
→ Ссылка
Это же проще простого
let data = {
"disk_name": ["new", "my"],
"luks_uuid": ["ec06935d-a72a-460a-aaba-205b58a53c01", "87be6eca-e043-4139-b637-f91229631d29"],
"uuid_disk": ["58fbc706-d1ef-4922-8cf6-9078a7fa64cf", "6708c974-158f-438a-9518-3225cecc9c0c"]
};
let res = [];
for (let i = 0; i < data.disk_name.length; i++) {
let obj = {};
obj.disk_name = data.disk_name[i];
obj.luks_uuid = data.luks_uuid[i];
obj.uuid_disk = data.uuid_disk[i];
res.push(obj);
}
console.log(res);
Или так
let data = {
"disk_name": ["new", "my"],
"luks_uuid": ["ec06935d-a72a-460a-aaba-205b58a53c01", "87be6eca-e043-4139-b637-f91229631d29"],
"uuid_disk": ["58fbc706-d1ef-4922-8cf6-9078a7fa64cf", "6708c974-158f-438a-9518-3225cecc9c0c"]
};
let keys = Object.keys(data);
let res = [];
for (let i = 0; i < data[keys[0]].length; i++) {
let obj = {};
for (let j = 0; j < keys.length; j++) {
obj[keys[j]] = data[keys[j]][i];
}
res.push(obj);
}
console.log(res);