Javascript 通过DOM获取值,然后过滤数组中的值,返回未定义的值
我已经编写了一个函数,它应该过滤数组并返回一个与给定值关联的值。例如,通过知道一个名字,我想得到首字母 排列 功能 当我像findMemberInitials(“Ben Stiller”)一样运行数组时;它按预期返回BS 当我首先尝试从at用户输入获取值,然后通过函数运行它时,它返回undefinedJavascript 通过DOM获取值,然后过滤数组中的值,返回未定义的值,javascript,Javascript,我已经编写了一个函数,它应该过滤数组并返回一个与给定值关联的值。例如,通过知道一个名字,我想得到首字母 排列 功能 当我像findMemberInitials(“Ben Stiller”)一样运行数组时;它按预期返回BS 当我首先尝试从at用户输入获取值,然后通过函数运行它时,它返回undefined let getMemberName = document.getElementById("name").value; let getMemberInitials = findMemberIniti
let getMemberName = document.getElementById("name").value;
let getMemberInitials = findMemberInitials(getMemberName);
console.log(getMemberInitials); //returns undefined.
我不太确定我做错了什么。我尝试将其解析为字符串,但没有帮助。您没有从函数返回任何内容。其次,您应该使用
find()
让成员=[
{
id:1,
memberFullName:“Ben Stiller”,
成员姓名首字母:“BS”
},
{
id:2,
memberFullName:“迈克尔·杰克逊”,
成员姓名首字母:“MJ”
}
];
函数findMemberInitials(对象){
return(members.find(obj=>obj.memberFullName===object)| |{});
}
log(findMemberInitials(“Michael Jackson”)
您没有从函数返回任何内容。其次,您应该使用find()
让成员=[
{
id:1,
memberFullName:“Ben Stiller”,
成员姓名首字母:“BS”
},
{
id:2,
memberFullName:“迈克尔·杰克逊”,
成员姓名首字母:“MJ”
}
];
函数findMemberInitials(对象){
return(members.find(obj=>obj.memberFullName===object)| |{});
}
console.log(findMemberInitials(“Michael Jackson”))
findMemberInitials中没有返回值,并且您没有从函数返回任何内容,您需要从函数返回结果如果未找到任何成员,则函数将抛出错误。除了添加返回值,我会将参数名称更改为有意义的名称,因为object
不是很有意义。FindMemberInitial中没有返回值,并且您没有从函数中返回任何内容,您需要从函数中返回结果如果未找到任何成员,您的函数将抛出错误。除了添加返回值,我会将参数名更改为有意义的名称,因为对象不是很有意义。返回null比返回空对象要好。@CodingYoshi{}.memberInitials
将返回undefined
但null。memberInitials
将抛出错误。在调用memberInitial
之前,需要检查是否找到任何内容。如果找不到任何内容,则返回null。@CodingYoshi我认为这种方法很好。返回undefined
或null
没有多大区别。返回null比返回空对象要好。@CodingYoshi{}.memberInitials
将返回undefined
但null。memberInitials
将抛出错误。在调用memberInitial
之前,需要检查是否找到任何内容。如果找不到任何内容,则返回null。@CodingYoshi我认为这种方法很好。返回undefined
或null
没有多大区别
function findMemberInitials(object) {
let result = members.filter( obj => {
return obj.memberFullName == object;
})[0].memberInitials;
}
let getMemberName = document.getElementById("name").value;
let getMemberInitials = findMemberInitials(getMemberName);
console.log(getMemberInitials); //returns undefined.