关于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.1k
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

函数本身没有返回值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题