📅  最后修改于: 2023-12-03 14:53:18.699000             🧑  作者: Mango
在 JavaScript 中,有时需要转置(行列交换) JSON 数据。通常情况下,我们需要将 JSON 数组中的对象属性转换为数组,反之亦然。本文将介绍如何使用 JavaScript 将 JSON 数据进行转置。
const data = [
{ id: 1, name: '张三', age: 20 },
{ id: 2, name: '李四', age: 25 },
{ id: 3, name: '王五', age: 30 }
];
const transpose = (data) => {
// 获取所有属性名
const keys = Object.keys(data[0]);
// 将对象属性转换为数组
const result = keys.map(key => {
return data.map(item => item[key]);
});
return result;
};
// 使用示例
console.log(transpose(data));
// 输出结果:[ [ 1, 2, 3 ], [ '张三', '李四', '王五' ], [ 20, 25, 30 ] ]
const data = [
[ 1, 2, 3 ],
[ '张三', '李四', '王五' ],
[ 20, 25, 30 ]
];
const transpose = (data) => {
const result = data[0].map((col, i) => {
return data.map((row) => {
return row[i];
});
});
// 将数组转换为对象
const keys = Object.keys(data[0]);
return result.map(item => {
const obj = {};
item.forEach((value, index) => {
obj[keys[index]] = value;
});
return obj;
});
};
// 使用示例
console.log(transpose(data));
// 输出结果:
// [
// { id: 1, name: '张三', age: 20 },
// { id: 2, name: '李四', age: 25 },
// { id: 3, name: '王五', age: 30 }
// ]
通过本文的介绍,我们可以了解到如何使用 JavaScript 将 JSON 数据进行转置。这对于一些需要对大量数据进行快速统计和分析的场景非常有用。