如何在反应JS中转换格式json?
问题描述:
我想JSON格式转换在JavaScript这样的:如何在反应JS中转换格式json?
{
"a": [5,1,2],
"b": [4,0,3],
"c": [1,1,4]
}
到
[
{'a':5,'b':4,'c':1},
{'a':1,'b':0,'c':1},
{'a':2,'b':3,'c':4}
]
如何解决这个问题?
答
在这里你去:
const obj = {
"a": [5,1,2],
"b": [4,0,3],
"c": [1,1,4]
};
const convert = (obj) => {
let res = [];
const keys = Object.keys(obj);
if (!keys.length) return [];
for (let i = 0; i < obj[keys[0]].length; i++) {
let nextObj = {};
keys.forEach(key => {
nextObj[key] = obj[key][i];
});
res.push(nextObj);
}
return res;
}
console.log(convert(obj))
+0
没问题@ user3440030:D – Zevgon
答
您可以通过以下方式
let obj = {
"a": [5,1,2],
"b": [4,0,3],
"c": [1,1,4]
}
let result = [], idx=0;
while(true){
let isValid = true, tempObj = {};
for(element in obj){
if(idx < obj[element].length){
tempObj[element] = obj[element][idx];
}
else{
isValid = false;
}
}
if(isValid){
result.push(tempObj);
}
else{
break;
}
idx++;
}
console.log(result);
你可以分享你尝试过什么做呢? – marvel308
请参阅[如何提出一个好问题](https://*.com/help/how-to-ask)部分。你有什么尝试,你有代码?阅读[如何创建最小,完整和可验证示例](https://*.com/help/mcve)。 –