我对刚开始学习JS的编程非常陌生。我有一个练习,不确定如何解决。任务是计算哪个用户拥有最多的技能。给定的代码如下:
const users = {
Alex: {
email: '[email protected]',
skills: ['HTML', 'CSS', 'JavaScript'],
age: 20,
isLoggedIn: false,
points: 30
},
Asab: {
email: '[email protected]',
skills: ['HTML', 'CSS', 'JavaScript', 'Redux', 'MongoDB', 'Express', 'React', 'Node'],
age: 25,
isLoggedIn: false,
points: 50
},
Brook: {
email: '[email protected]',
skills: ['HTML', 'CSS', 'JavaScript', 'React', 'Redux'],
age: 30,
isLoggedIn: true,
points: 50
},
Daniel: {
email: '[email protected]',
skills: ['HTML', 'CSS', 'JavaScript', 'Python'],
age: 20,
isLoggedIn: false,
points: 40
},
John: {
email: '[email protected]',
skills: ['HTML', 'CSS', 'JavaScript', 'React', 'Redux', 'Node.js'],
age: 20,
isLoggedIn: true,
points: 50
},
Thomas: {
email: '[email protected]',
skills: ['HTML', 'CSS', 'JavaScript', 'React'],
age: 20,
isLoggedIn: false,
points: 40
},
Paul: {
email: '[email protected]',
skills: ['HTML', 'CSS', 'JavaScript', 'MongoDB', 'Express', 'React', 'Node'],
age: 20,
isLoggedIn: false,
points: 40
}
}
我想我需要使用一个循环,但是,不确定我如何访问技能数组?
确实,您可以在users
对象的键上使用循环。然后比较skills
属性的长度,以找到哪个用户拥有最长的列表:
const users = {Alex: {email: '[email protected]',skills: ['HTML', 'CSS', 'JavaScript'],age: 20,isLoggedIn: false,points: 30},Asab: {email: '[email protected]',skills: ['HTML', 'CSS', 'JavaScript', 'Redux', 'MongoDB', 'Express', 'React', 'Node'],age: 25,isLoggedIn: false,points: 50},Brook: {email: '[email protected]',skills: ['HTML', 'CSS', 'JavaScript', 'React', 'Redux'],age: 30,isLoggedIn: true,points: 50},Daniel: {email: '[email protected]',skills: ['HTML', 'CSS', 'JavaScript', 'Python'],age: 20,isLoggedIn: false,points: 40},John: {email: '[email protected]',skills: ['HTML', 'CSS', 'JavaScript', 'React', 'Redux', 'Node.js'],age: 20,isLoggedIn: true,points: 50},Thomas: {email: '[email protected]',skills: ['HTML', 'CSS', 'JavaScript', 'React'],age: 20,isLoggedIn: false,points: 40},Paul: {email: '[email protected]',skills: ['HTML', 'CSS', 'JavaScript', 'MongoDB', 'Express', 'React', 'Node'],age: 20,isLoggedIn: false,points: 40}}
let topUser;
for (let user in users) {
if (!topUser || users[user].skills.length > users[topUser].skills.length) topUser = user;
}
console.log(topUser);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句