1
Amy 原创整理|资料核验:2026-11-02
MDN说明,every对空数组返回true,因为没有任何元素违反条件。它也只对已赋值的数组索引调用回调,不检查稀疏数组中的空槽。
教学情境:用items.every(item => item.ready)判断全部项目就绪,如果items为空,结果仍为true。若业务含义要求“至少有一个项目且全部就绪”,可以显式加入items.length > 0这个条件。
但长度大于0也不等于稀疏数组每个位置都有实际项目。Amy建议接收外部数据时先明确数组结构和缺失值规则,再验证内容条件,别把所有判断压成一个every调用。
这里的示例用于解释语义,不是任何实际审批或任务系统的实现。空清单究竟应通过、失败还是显示“暂无数据”,应由具体业务含义决定。
官方来源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every