微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JS array.map返回未定义

如何解决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 举报,一经查实,本站将立刻删除。