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
},
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值