如何解决JS array.map返回未定义
我具有以下功能
function findNeedle(array) {
array.forEach(element => {
if(element === 'needle') {
console.log('needle') // needle
return 'needle'
}
});
}
const needle = findNeedle(['hay','junk','hay','moreJunk','needle','randomJunk'])
console.log(needle)
我不太了解为什么我的函数返回未定义。我尝试使用forEach,但仍然遇到相同的问题。奇怪的是,执行返回“ needle”之前的console.log语句
解决方法
您必须执行此操作 因为它将针返回到forEach函数而不是findNeedle函数
祝你有美好的一天,如果有任何疑问发表评论
function findNeedle(array) {
var answer;
array.forEach(element => {
if(element === 'needle') {
console.log('needle') // needle
answer= 'needle'
}
});
return answer
}
const needle = findNeedle(['hay','junk','hay','moreJunk','needle','randomJunk'])
console.log(needle) //undefined
,
必须在函数内返回数组,否则将导致undefined
。像这样:
function findNeedle(array) {
return array.forEach(element => {
// ....
}
但是此代码中还有其他错误。
我不确定您要达到的目标,这可以帮助您吗?
function findNeedle(arr) {
return arr.map((element,index) => {
if(element === 'needle') {
return index;
}
});
}
let needle = findNeedle(['hay','randomJunk']);
console.log(needle)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。