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))