nodejs怎样操作字典(不知道怎样使用js操作字典来合并相同key值的value)

nodejs怎样把:
uid_score_bid = ['A,1,a','A,1,b','A,1,d','B,1,b','B,1,c','B,1,e','C,1,c','C,1,d','D,1,b','D,1,c','D,1,d','E,1,a','E,1,d']
这种类型的数据转化成:
{'A': {'a': 1, 'b': 1, 'd': 1}, 'B': {'b': 1, 'c': 1, 'e': 1}, 'C': {'c': 1, 'd': 1}, 'D': {'b': 1, 'c': 1, 'd': 1}, 'E': {'a': 1, 'd': 1}}
这种类型的?

function divData(arr){
    console.log(arr);
    let dic={};
    let dd={};
    let user;
    let score;
    let cid;
    arr.forEach(element => {
        user=element.split('@')[0];
        score=element.split('@')[1];
        cid=element.split('@')[2];
       dic[user]=dd;
       dd[cid]=score;
    });

    console.log(dic)
}
这是我的代码,但运行出来的结果不对

https://blog.csdn.net/ioszhanghui/article/details/90240563



const arr = ['A,1,a', 'A,1,b', 'A,1,d', 'B,1,b', 'B,1,c', 'B,1,e', 'C,1,c', 'C,1,d', 'D,1,b', 'D,1,c', 'D,1,d', 'E,1,a', 'E,1,d']

const newArr1 = arr.map(item => {
  return {
    name: item.split(',')[0],
    subName: item.split(',')[2],
    value: item.split(',')[1]
  }
})
function replace (arr) {
  const obj = {}
  const nameArr = [
    ...new Set(
      arr.map(o => {
        return o.name
      })
    )
  ]
  for (const name of nameArr) {
    const subNameList =
      arr
        .filter(item => item.name === name)
        .map(o => {
          return {
            subName: o.subName,
            value: o.value
          }
        })
    const subObj = {}
    for (const subNameItem of subNameList) {
      const { subName, value } = subNameItem
      subObj[subName] = value
      // obj[name] = { subName: value }
    }
    obj[name] = subObj
  }
  return obj
}
console.log(replace(newArr1))

img