我有一个对象数组const myarray=[{name:'alex',job:'doctor'},{name:'john',job:'taxis driver'},{name:'marc',job:'taxis driver'},]如何为每个作业打印作业名称,然后打印所有相应的对象?例如,我希望能够显示:医生:亚历克斯出租车司机:约翰,马克
eiee3dmh1#
您可以尝试以下方法:
const myarray = [ { name: 'Alex', job: 'Doctor' }, { name: 'John', job: 'Taxi Driver' }, { name: 'Marc', job: 'Taxi Driver' } ] const sorted = {} myarray.forEach((e)=>{ if(e.job in sorted){ sorted[e.job].push(e.name); }else{ sorted[e.job] = [e.name] } }) console.log(sorted);
要以所需格式打印它们,请执行以下操作:
const myarray = [ { name: 'Alex', job: 'Doctor' }, { name: 'John', job: 'Taxi Driver' }, { name: 'Marc', job: 'Taxi Driver' } ] const sorted = {} myarray.forEach((e)=>{ if(e.job in sorted){ sorted[e.job].push(e.name); }else{ sorted[e.job] = [e.name] } }) for(const key in sorted){ var str = key+': '; sorted[key].forEach(e=>str+=e+', '); console.log(str.slice(0, -2)); }
li9yvcax2#
首先,创建对象,该对象将像 obj = {"Taxi driver": [],"Doctor": [] } 然后你就可以通过数组了 myarray.forEach(e => obj[e.job].append(e.name)) 之后只需操纵对象即可。顺致敬意,
obj = {"Taxi driver": [],"Doctor": [] }
myarray.forEach(e => obj[e.job].append(e.name))
zd287kbt3#
它返回一个包含所需结果的对象
const myarray = [ { name: 'Alex', job: 'Doctor' }, { name: 'John', job: 'Taxi Driver' }, { name: 'Marc', job: 'Taxi Driver' }, ] function getJobs() { let result = {}; myarray.forEach(function t(e) { if (!result.hasOwnProperty(e.job)) result[e.job] = []; result[e.job].push(e.name); }); return result; } console.log(getJobs());
3条答案
按热度按时间eiee3dmh1#
您可以尝试以下方法:
要以所需格式打印它们,请执行以下操作:
li9yvcax2#
首先,创建对象,该对象将像
obj = {"Taxi driver": [],"Doctor": [] }
然后你就可以通过数组了myarray.forEach(e => obj[e.job].append(e.name))
之后只需操纵对象即可。顺致敬意,zd287kbt3#
它返回一个包含所需结果的对象