给复杂的数组结构数据换key
// 数据 的key 是数据的key
// 而我们要导入 excel 的是 excel 的key
// 我有一个数据
// 我不动它的格式 我要改它的key
let o = [{
key1: "value1",
key2: "value2",
key3: "value3",
key4: "value4",
key5: "value5",
key6: "value6",
key7: "value7",
key8: "value8",
key9: "value9",
}, {
key1: "value1",
key2: "value2",
key3: "value3",
key4: "value4",
key5: "value5",
key6: "value6",
key7: "value7",
key8: "value8",
key9: "value9",
}, {
key1: "value1",
key2: "value2",
key3: "value3",
key4: "value4",
key5: "value5",
key6: "value6",
key7: "value7",
key8: "value8",
key9: "value9",
}];
// 我要将数据改成类下
// let o1 = [
// {
// Mykey1: "value1",
// Mykey2: "value2",
// }
// ]
// 01- 要定义一个改值规则
let xbjdy = {
key1: "Mykey1",
key2: "Mykey2",
key3: "Mykey3",
key4: "Mykey4",
key5: "Mykey5",
key6: "Mykey6",
key7: "Mykey7",
key8: "Mykey8",
key9: "Mykey9",
}
// 02- 改key
function gaiKey(arr, obj) {
// 对复杂数据类型进行 修改等操作时 建议 克隆
arr = JSON.parse(JSON.stringify(arr));
// 修改 数据的容器
let orr = [];
for (let i = 0; i < arr.length; i++) {
// 要被修改的对象
const element = arr[i];
// 循环对象
for (const key in element) {
// 当前项 规则 按规则添加新key
arr[i][obj[key]] = element[key]; // 改key
delete element[key]; // 删除原有key数据
orr.push(element);
}
}
return orr;
}
console.log(gaiKey(o, xbjdy));