使用JavaScript filter方法实现可选分类筛选,无指定值时返回全部项
列表筛选逻辑优化方案
核心优化思路
利用JavaScript逻辑或的短路执行特性,省略冗余的if分支判断,将筛选逻辑合并为单个表达式,大幅简化代码的同时保持原有逻辑完全一致。
优化后完整代码
let items = [ {'name':"A",'category':"a"}, {'name':"B",'category':"b"}, {'name':"C",'category':"c"} ] let target; console.log(items.filter(item => target === undefined || item.category === target));
补充说明
如果你的业务场景中target为null时也属于「未传入分类值、需要返回所有项」的情况,可以将判断条件改为target == null,该判断会同时覆盖undefined和null两种空值场景,适配性更强。
内容的提问来源于stack exchange,提问作者Travis
相关产品推荐
相关产品推荐

