如何过滤数组中的空数组?示例:const arrFilter = [{id:1},[],[]];
过滤数组中的空数组,保留含id属性的对象
针对给定的数组 const arrFilter = [{id:1},[],[]];,可以使用数组的filter()方法快速实现需求,以下是两种实用的实现方式:
方式一:精准判断元素类型与属性存在性
先排除数组类型的元素,再确认对象是否拥有id属性,避免误判其他无id的普通对象:const arrFilter = [{id:1},[],[]]; const filteredArr = arrFilter.filter(item => { return !Array.isArray(item) && item.hasOwnProperty('id'); }); console.log(filteredArr); // 输出: [{id: 1}]方式二:简化属性存在性检查
利用空数组不存在id属性的特性,直接判断元素的id是否有效:const arrFilter = [{id:1},[],[]]; const filteredArr = arrFilter.filter(item => item.id !== undefined); console.log(filteredArr); // 输出: [{id: 1}]
两种方式都能达到过滤空数组、仅保留目标对象的效果,可根据实际业务场景选择。
内容的提问来源于stack exchange,提问作者kpako1998
相关产品推荐
相关产品推荐

