在javascript中从2个列表创建字典
我正试图从两个列表中创建一个字典,departmentslist(字符串列表)作为键,userslist(对象列表)作为值 下面是片段在javascript中从2个列表创建字典,javascript,Javascript,我正试图从两个列表中创建一个字典,departmentslist(字符串列表)作为键,userslist(对象列表)作为值 下面是片段 let departments=['IT','HR']; 让用户=[{'name':'John','depent':'IT'},{'name':'Mary','depent':'HR'},{'name':'Carlos','depent':'HR'},{'name':'James','depent':'HR'}; //预期结果 让dict={ 'IT':[{'
let departments=['IT','HR'];
让用户=[{'name':'John','depent':'IT'},{'name':'Mary','depent':'HR'},{'name':'Carlos','depent':'HR'},{'name':'James','depent':'HR'};
//预期结果
让dict={
'IT':[{'name':'John'}],
'HR':[{'name':'Mary'},{'name':'Carlos'}{'name':'James'}]
};代码>通过用户循环:
const dict={};
for(const user of users){
如果(用户在dict中离开){
dict[用户.离开].推送(用户);
}否则{
dict[用户离开]=[用户];
}
//如果不希望在最终输出中使用depart属性,请取消对此行的注释
//删除user.deep;
}
您应该在部门中循环并筛选用户,以提取部门中的用户
let departments = ['IT','HR'];
let users = [{'name' : 'John', 'depart':'IT'}, {'name' : 'Mary', 'depart':'HR'}, {'name' : 'Carlos', 'depart':'HR'}, {'name' : 'James','depart':'HR'}];
//expected result
let dict = {
'IT': [{'name' : 'John'}],
'HR': [{'name' : 'Mary'}, {'name' : 'Carlos'}, {'name' : 'James'}]
};
var depDictionary ={};
for (let index = 0; index < departments.length; index++) {
const department = departments[index];
depDictionary[department] = users.filter(function(user){
return user.depart == department;
}).map(function(user){
return {name:user.name};
});
}
let departments=['IT','HR'];
让用户=[{'name':'John','depent':'IT'},{'name':'Mary','depent':'HR'},{'name':'Carlos','depent':'HR'},{'name':'James','depent':'HR'};
//预期结果
让dict={
'IT':[{'name':'John'}],
'HR':[{'name':'Mary'},{'name':'Carlos'},{'name':'James'}]
};
var-depDictionary={};
for(让index=0;index
嗨!你在这里的最佳选择是做你的研究,为相关的主题,所以,并尝试一下。如果你在做了更多的研究和搜索后陷入困境,无法摆脱困境,请发布一份你的尝试,并明确指出你陷入困境的地方。人们会乐意帮忙的。背后的逻辑是什么?如果用户的长度为6,会发生什么?我在用户中添加了一个离开值,但为什么我要按离开进行筛选或排序?我在用户中添加了一个离开值,但为什么我要按离开进行筛选或排序?@Xris我编辑了我的答案。我感谢你花时间回答这个精彩的问题,谢谢你的朋友。