JS 数组怎么提取相同元素对应的值

新手上路,请多包涵

arr1通过字段a,取字段b,组装成arr2

arr1 = [
    {
        a:'8:00'
        b:1
    },
    {
        a:'8:00'
        b:2
    },
    {
        a:'8:00'
        b:3
    },
    {
        a:'8:00'
        b:4
    },
    {
        a:'9:00'
        b:1
    },
    {
        a:'9:00'
        b:2
    },
    {
        a:'9:00'
        b:3
    },                        
]
arr2: [
    {
        items: ['8:00', 1,2,3,4],
    },
    {
        items: ['9:00', 1,2,3],
    },
],  
阅读 1.9k
1 个回答
arr1.reduce((arr, item) => {
    let res = arr.find(ci => ci.items.indexOf(item.a) == 0)
    if(res){
        res.items.push(item.b)
    }else{
        arr.push({items:[item.a, item.b]})
    }
    return arr
}, [])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题