gpt4 book ai didi

javascript - 比较传入的函数参数和数组对象属性

转载 作者:行者123 更新时间:2023-11-30 16:32:52 25 4
gpt4 key购买 nike

想要测试我的查找函数是否可以使用传入参数来匹配用户数组中的对象属性。我相信问题出在 if 语句中,我不确定这是比较两者的正确方法。

// member object 
function member(lname, fname, mname){
return{
lname: lname, // object property
fname: fname,
mname: mname
};
}

var user = [
member('lastname', 'firstname', 'middlename'),
member('last', 'first', 'mname'),
member('l', 'f', 'm'),
member('ll', 'ff', 'mm')
];

function find(lname){
for(var i = 0; i < user.length; i++){
if(lname === user[i][lname]){
return(console.log(lname));
}else{
return null;
}
}
}

console.log(find("last"));

返回的是null,如果我去掉else语句,返回undefined。你能帮忙的话,我会很高兴。谢谢。

最佳答案

  1. 团队不存在。听起来您指的是 user 数组。
  2. 代替 user[i][lname],通过 user[i].lname 访问 lname 属性
  3. 如果在 else 中返回 null,则不会继续检查结果。您的返回应该在 for 循环之外,以表明我们已经到达终点并且没有成功返回。

工作示例:

// member object 
function member(lname, fname, mname){
return{
lname: lname, // object property
fname: fname,
mname: mname
};
}

var user = [
member('lastname', 'firstname', 'middlename'),
member('last', 'first', 'mname'),
member('l', 'f', 'm'),
member('ll', 'ff', 'mm')
];

function find(lname){
for(var i = 0; i < user.length; i++){
if(lname === user[i].lname){
return "FOUND: " + lname;
}
}
return null;
}

console.log(find("last"));

关于javascript - 比较传入的函数参数和数组对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33090363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com