javascript - 根据对象数组中的第一个 "row"重命名 JSON 键

标签 javascript node.js json

我有一个 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/

相关文章:

javascript - 根据父元素类型格式化json

javascript - 如何验证导入功能?

javascript - jQuery AJAX 调用 - event.preventDefault();不停止任何浏览器中的 PHP 表单提交

javascript - 如何使用 if 函数在我的 Web 网格中隐藏一个复选框?

node.js - 访问node.js中其他文件中的变量

node.js - 在 Heroku 上找不到 librdkafka

php - 在 PHP 和 Android 中将时间戳转换为可读时间

javascript - 在 Handlebars 中选择选择选项时自动填充其他字段

node.js - 来自 Lambda 的 AWSXRay.captureAsyncFunc() - 我错过了什么吗?

c# - 在 asp mvc 4 中将 Json 文本解析为 C# 对象