在日常学习工作中,我们常常有这样一个需求,后端返回的数据是一个对象,而我们则需要一个数组来显示数据,这时候,就需要将数据进行一下简单的转换,接下来我将使用Object自带的方法实现,当然在学习使用中,可以根据需求使用一些其他的方法一起处理数据,从而实现需求。
一、将对象的键转换为数组
const obj = { a: 1, b: 2, c: 3 };
const keysArray = Object.keys(obj); // ["a", "b", "c"]
二、将对象的键值对转换为数组
const obj = { a: 1, b: 2, c: 3 };
const entriesArray = Object.entries(obj); // [["a", 1], ["b", 2], ["c", 3]]
三、将对象的值转换为数组
const obj = { a: 1, b: 2, c: 3 };
const valuesArray = Object.values(obj); // [1, 2, 3]
这些都是一些简单的方法,然而实际开发中,则还有一些其他方法,灵活运用
四、使用for...in
const obj = {
0000003_CN: "测试省人民政府办公厅",
0000003000001_CN: "中共测试省委测试省人民政府决策咨询委员会办公室"
};
const unitArr = []
for (let key in obj) {
if (key.includes('_CN')) {
unitArr.push({
key: key.split('_')[0],
value: this.obj[key],
});
}
}
console.log(unitArr);//[
{
"key": "0000003",
"value": "测试省人民政府办公厅"
},
{
"key": "0000003000001",
"value": "中共测试省委测试省人民政府决策咨询委员会办公室"
}
]
使用for...in循环迭代对象属性同样可以实现,并且更加灵活