我有一个 JSON 对象数组,我需要根据第一个对象中的值重命名键。尝试在 NodeJS 中执行此操作,但没有任何运气。
我可能可以通过几个循环来暴力破解它,但希望有一个更具可扩展性的解决方案,因为“列”的数量会不时发生变化。
这是一个例子
[{"A" : "Key1", "B" : "Key2", "C" : "Key3"},
{"A" : "Data1", "B" : "Data2", "C" : "Data3"},
{"A" : "Data5", "B" : "Data5", "C" : "Data7"}]
我希望结果是这样的
[{"Key1" : "Key1", "Key1" : "Key2", "Key1" : "Key3"},
{"Key1" : "Data1", "Key2" : "Data2", "Key3" : "Data3"},
{"Key1" : "Data5", "Key2" : "Data5", "Key3" : "Data7"}]
最佳答案
let arr = [{"A" : "Key1", "B" : "Key2", "C" : "Key3"},
{"A" : "Data1", "B" : "Data2", "C" : "Data3"},
{"A" : "Data5", "B" : "Data5", "C" : "Data7"}];
const keys = Object.keys(arr[0]).map(i => arr[0][i]);
let result = arr.map(obj => {
const replacedObj = {};
const oriKeys = Object.keys(obj);
for (let i = 0; i < keys.length; i++) {
replacedObj[keys[i]] = obj[oriKeys[i]]
};
return replacedObj;
});
console.log(JSON.stringify(result));
关于javascript - 根据对象数组中的第一个 "row"重命名 JSON 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53735032/