数据打平 数组转对象

**

初级数组转对象

**

const testArray = ["苹果","草莓","橘子"]
let obj = {}
for(i=0;i<testArray.length;i++){
    obj[i]=testArray[i]
}
console.log(obj)  ={0: '苹果', 1: '草莓', 2: '橘子'}

中级数组对象转对象

const testArray = [{id:1,value:"苹果"},{id:2,value:"草莓"},{id:3,value:"橘子"}]
let obj = {}
testArray.forEach(item=>{
    obj[item.id] = item.value
})
console.log(obj)  ={1: '苹果', 2: '草莓', 3: '橘子'}

高级数组对象转对象

const testArray = [
    {
     id:1,
     value:"苹果",
     children:[
         {
          id:4,
          value:"香蕉",
          children:[
              {
                  id:5,
                  value:"香蕉儿子"
              }
                  ]
         }
     ]
    },
    {
     id:2,
     value:"草莓"
    },
    {
     id:3,
     value:"橘子",
     children:[
         {
             id:7,
             value:"橘子儿子"
         }
     ]
    }
]

const arrayMap = (array)=>{
    const obj = {}

    const itemS = (config)=>{
        const {id,value,children} = config
        obj[id] = value
        if(children?.length){
            children.forEach((item)=>{
                itemS(item)
            })
        }
    }

    array.forEach(item=>{
        itemS(item)
    })

    return obj
}

console.log(arrayMap(testArray));

{1: '苹果', 2: '草莓', 3: '橘子', 4: '香蕉', 5: '香蕉儿子', 7: '橘子儿子'}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值