js 一维数组转二维数组

使用场景举例:后端返回的是一个数组对象 [{},{},{}],前端需要的是形式如下的二维数组

遍历原数组,通过 Object.keys(item)方法把键值取出组成新数组,遍历这个数组,和目标字段做判断,把目标字段需要的键的值放到一个二级的数组中,在把这个二级数组添加到一级数组中,这个一级数组就是最终需要的二维数组

<script>
    let sourceData = [
        { name: "张三", age: 18, height: 180 },
        { name: "李四", age: 28, height: 160 },
        { name: "王五", age: 38, height: 170 }
    ]

    function arrTrans(sourceData, list){
        // 最终要返回的二维数组
        let newArr = []
        // 遍历原数组
        sourceData.forEach(item => {
            // 一级数组内包含的二级数组
            let arr = []
            // 遍历键值数组
            Object.keys(item).forEach(key=>{
                // 判断目标字段中是否包含当前key值
                if(list.includes(key)){                   
                   arr.push(item[key])
                }
            })
            newArr.push(arr)
        })
        return newArr  
    }
    
    console.log(arrTrans(sourceData, ['name','age']))

</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值