Object(对象)转成 数组对象
Object类型转成 数组对象
·
做个小记录:
1、首先准备好一个对象 和 一个空数组(用来接收转换后的数据)
let obj = {xd: "熊大",02: "熊二",03: "香香",04: "松鼠"}
let list =[]
transformList() {
// id 如果前面是数字 就会按照索引值数字来,如果不是就保持原样
let key = Object.keys(this.obj) //取出当前对象的索引
let values=Object.values(this.obj) //取出当前对象的值
//将拿到的索引 跟 值 组到一起,返回数组对象
let arrObj=key.map((item,index)=>{
return{
name:values[index],//values是一个数组,加index是为了拿到跟索引同个位置的值
id:item
}
})
this.list = arrObj
console.log(this.list,"对象转成 数组对象");
},
2、也可,封装成一个公用的转换方法,把转换的数据传入,在需要使用的位置调用即可
如: this.dataTransform(this.obj)
dataTransform(obj) {
let key = Object.keys(obj)
let val = Object.values(obj)
let data = key.map((item, index) => {
return {
name: val[index],
id: item,
}
})
return data
},
3、Object 类型的 key(索引)跟value(值) 交换位置
objKeyVal(obj) {
for (let k in obj) {
let value = obj[k] //将原来的value赋值给一个变量
obj[value] = k // 为obj赋新key,不能直接使用obj = {obj[k] : k},会报语法错误
delete obj[k] // 删除原来的属性
}
return obj
},
更多推荐
已为社区贡献2条内容
所有评论(0)