You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Array.find()执行示例代码返回结果5而非首个元素12?

代码运行结果原因解析

你提供的代码如下:

const array1 = [12, 5, 8, 130, 44];
var check = array1.find((element, b) => b);
console.log(check);

具体原因

该结果由Array.prototype.find()的运行规则和JS的布尔值判定规则共同导致:

  • Array.find()会按数组下标从0开始依次遍历元素,每轮遍历给回调传入三个参数:当前遍历元素、当前元素的下标、原数组;只要某一轮回调返回真值,find就会立即返回当前元素,终止后续遍历。
  • 你的代码中回调的返回值是第二个参数b,也就是当前元素的下标:
    • 第一轮遍历元素12时,下标为0,0在JS中属于假值,回调返回假,find继续遍历
    • 第二轮遍历元素5时,下标为1,1在JS中属于真值,回调返回真,find直接返回当前元素5

内容的提问来源于stack exchange,提问作者Prakhar Agarwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:06:07