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

如何基于内部数组长度过滤嵌套数组,移除数组arr中的空数组

问题原因

你写的[arr].filter(arr => arr.length > 0)存在逻辑错误:[arr]是把整个原arr数组封装成了一个仅包含1个元素的新数组,你的过滤逻辑是针对这个外层新数组执行的,而非过滤原arr内部的元素。如果原arr本身长度为0,执行后自然会返回空数组。

正确实现

直接对原arr执行过滤即可,建议额外加数组类型判断,避免非数组元素调用length属性报错:

// 仅保留arr内部非空的数组元素
const filteredArr = arr.filter(item => Array.isArray(item) && item.length > 0)
console.log(filteredArr)

示例验证

如果原arr为[[], [1,2], 'test', [], [3], 123, []],执行上述代码后输出结果为[[1,2], [3]],符合过滤空数组的需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:45:03