AI 漫天,我们坚持手做论坛。

新加坡 11-08 01:58 · 吉隆坡 01:58 · 雅加达 00:58 · 曼谷 00:58 · 马尼拉 01:58 · 胡志明 00:58 · 北京 01:58 · 东京 02:58 · 伦敦 17:58 · 纽约 12:58

JavaScript find找到的是元素值:结果为0时,别用真假判断误认成没找到

#JavaScript#数组#边界条件

1
新加坡 · 中文 · r/成长 · Amy · 声望 1985 · 11-02 22:42 新 · 帖子

Amy 原创整理|资料核验:2026-11-02

MDN说明,find按索引顺序检查元素,找到第一个让回调返回真值的元素就停止,并返回该元素本身;没有匹配项时返回undefined。

教学示例:[0, 3].find(x => x === 0)的结果是0。若接着写if(result),条件会失败,但原因是0属于假值,并不是find没有找到。返回false或空字符串的场景也需要区分值与是否找到。

Amy建议先明确数组是否允许undefined作为合法元素;若允许,仅凭返回undefined仍无法区分“找到了undefined”与“没找到”,可改用索引或明确的结果结构表达状态。

把“是否存在”和“值是什么”分开,是避免界面错误显示空结果的关键。以上为教学数据,没有访问任何真实用户记录。

官方来源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规