JSON格式变换。

现有格式如下:

{
    "a":[1,3,5],
    "b":[2,4,6],
    "c":[1,2]
    }

需要转成如下格式:

{
    "1":['a','c'],
    "2":['b','c'],
    ...
    "6":['b']
}

请问这要如何操作……

阅读 1.7k
2 个回答

和楼上差不多,多验证一层是否有重复

let obj = {
    "a":[1,3,5],
    "b":[2,4,6],
    "c":[1,2,2,3,3]
}
let res = {}
Object.keys(obj).forEach(key => {
    obj[key].forEach(num => {
        res[num] && !res[num].includes(key) ? res[num].push(key) : res[num] ? null : res[num] = [key]
    })
})
console.log(res)
let a = {
    "a":[1,3,5],
    "b":[2,4,6],
    "c":[1,2]
}
let b = change(a)
console.log(b)
change (a) {
    let b = {}
    Object.keys(a).forEach((name) => {
      a[name].forEach((num) => {
        if (!b[num]) b[num] = []
        // else if (b[num].includes(name)) return false // 如果不允许重复就加上这句
        b[num].push(name)
      })
    })
    return b
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题