关于js findIndex

为什么console出来是undefined呢?

var ages = [3, 10, 18, 20];

function zxc(data, dataArray){
    dataArray.findIndex(function(element){
        return element == data;
    });
}

console.log(zxc(18, ages))  //undefined

这样写就没问题

    
    var ages = [3, 10, 18, 20];
    var zxc = ages.findIndex(function(element){
        return element == 18;
    });
    console.log(zxc)  //2
阅读 3.2k
5 个回答

因为你的定义的函数没有返回值,所以需要把findIndex的返回值再返回一下。

return 的生效范围是最近的一个函数
你这个例子就是指的

function(element){
    return element == data;
}

这个函数
实际zxc是没有返回值的
所以是undefined

function zxc(data, dataArray){
    return dataArray.findIndex(function(element){
        return element == data;
    });
}
return dataArray.findIndex

函数本身没有返回值

推荐问题