const obj = {
name: "李哈哈",
age: "18",
briday: "1111",
// ... 可以继续添加其他属性键值对
};
const keyMap = {
name: "姓名",
age: "年龄",
// ... 其他键的映射
};
console.log(Object.keys(obj));
// const transformedArray = Object.keys(obj).map((key) => ({
// name: keyMap[key] || key, // 如果没有映射就使用原始键
// value: obj[key],
// }));
const transformedArray = Object.keys(obj)
.filter((key) => keyMap.hasOwnProperty(key)) // 只保留在 keyMap 中有映射的键
.map((key) => ({
name: keyMap[key], // 使用映射后的中文名称
value: obj[key],
}));
console.log(transformedArray);
进阶
const obj = {
name: "李哈哈",
age: "18",
hobby: '打篮球'
// ... 可以继续添加其他属性键值对
};
const keyMap = {
name: "姓名",
age: "年龄",
hobby: '爱好'
};
const userInfoKeys = ['name', 'age']; // 用户信息的键
const userHobbyKeys = ['hobby']; // 用户爱好的键
// 提取用户信息
const userInfo = userInfoKeys
.filter(key => obj.hasOwnProperty(key))
.map(key => ({
name: keyMap[key],
value: obj[key]
}));
// 提取用户爱好
const userHobby = userHobbyKeys
.filter(key => obj.hasOwnProperty(key))
.map(key => ({
name: keyMap[key],
value: obj[key]
}));
// 将结果组织成所需的格式
const result = [
{
name: '用户信息',
data: userInfo
},
{
name: '用户爱好',
data: userHobby
}
];
js将对象转换指定数组
于 2024-01-12 13:28:36 首次发布