对象、数组格式转换问题。

var arr={1:'排班1',2:'排班1',3:'排班1',4:'排班2',5:'排班2',6:'排班2'}
怎么转为
arr={
'排班1':[1,2,3],
'排班2':[4,5,6]
}

let map = {};
 var arr={1:'排班1',2:'排班1',3:'排班1',4:'排班2',5:'排班2',6:'排班2'}
for(let val in arr){
        let keyval = map[arr[val]] ;
        if( keyval != undefined && keyval!=null){
            keyval.push(val)
            map[arr[val]] = keyval
        }else{
            let a=[];
            a.push(val)
            map[arr[val]] = a
        }
    }
    console.log(map)

有帮助 望采纳!

const arr={1:'排班1',2:'排班1',3:'排班1',4:'排班2',5:'排班2',6:'排班2'}
    let newObj = {}
    Object.keys(arr).forEach((key)=>{
        let newKey = newObj[arr[key]]
        const val = arr[key]
        if( newKey != undefined){
            newKey.push(key)
            newObj[val] = newKey
        }else{
            let newArr = [];
            newArr.push(key)
            newObj[val] = newArr
        }
    })

concat 方法