let obj = { "qqq":0, "www":0, "eee":0, "rrr":1, "ttt":1, "yyy":99, "uuu":99, "iii":99 }
现在有一个这样的对象,我需要把value相同的Key归在一起。
let unique = (arr) => ([...(new Set(arr))]) let obj = { "qqq":0, "www":0, "eee":0, "rrr":1, "ttt":1, "yyy":99, "uuu":99, "iii":99 } let value_arr = unique(Object.values(obj)) let new_obj = {} console.log(value_arr) value_arr.forEach((item, index, a)=>{ for (let i in obj) { if (obj[i] === item) { if(!new_obj[item]){ new_obj[item] = [] } new_obj[item].push(i) } } }) console.log(new_obj)
思路很简单:
1 把value提成数组并去重。
2 用双循环重构数据结构,把有着相同value的key放在一起。
结果:
以上。