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

如何用JavaScript的array.find获取首个含非空Widgets数组的对象

解决JavaScript array.find 获取非空Widgets数组对象的问题

问题原因

你之前的判断条件foo.Widgets!= undefined会匹配到Widgets为空数组的对象,因为空数组[]并不等于undefined;而直接判断长度报错,大概率是因为部分对象里根本没有Widgets属性,或者Widgets不是数组,直接访问length会触发类型错误。

正确实现代码

SomeArray.find(foo => Array.isArray(foo.Widgets) && foo.Widgets.length > 0)

逻辑说明

  • 先用Array.isArray(foo.Widgets)校验Widgets确实是数组类型,避免非数组(比如null、undefined、字符串等)访问length导致报错;
  • 再通过foo.Widgets.length > 0确保数组非空,这样就能精准匹配到第一个符合要求的对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 14:22:18