Javascript 仅当它不为null或未定义时进行筛选 results.data .过滤器((x)=>国家/地区。包括(x.国家/地区)) .filter((x)=>x.car\u model\u year>startYear&&x.car\u model\u yearx.gender.toLowerCase()==gender.toLowerCase()) .过滤器((x)=>颜色。包括(x.car\u颜色)),
我有这段代码,上面的国家、起始日期、结束日期、性别和颜色是可以为空或未定义的变量。问题是,如果该变量为空(null或未定义),它应该忽略该特定变量的过滤。实现它的最佳方法是什么,谢谢。您可以使用Javascript 仅当它不为null或未定义时进行筛选 results.data .过滤器((x)=>国家/地区。包括(x.国家/地区)) .filter((x)=>x.car\u model\u year>startYear&&x.car\u model\u yearx.gender.toLowerCase()==gender.toLowerCase()) .过滤器((x)=>颜色。包括(x.car\u颜色)),,javascript,Javascript,我有这段代码,上面的国家、起始日期、结束日期、性别和颜色是可以为空或未定义的变量。问题是,如果该变量为空(null或未定义),它应该忽略该特定变量的过滤。实现它的最佳方法是什么,谢谢。您可以使用或操作符 results.data .filter((x) => countries.includes(x.country)) .filter((x) => x.car_model_year > startYear &am
或操作符
results.data
.filter((x) => countries.includes(x.country))
.filter((x) => x.car_model_year > startYear && x.car_model_year < endYear)
.filter((x) => x.gender.toLowerCase() === gender.toLowerCase())
.filter((x) => colours.includes(x.car_color)),
results.data
.filter(x=>!countries | | countries.includes(x.country))
.过滤器(
x=>(!startYear | | x.car_model_year>startYear)
&&(!endYear | | x.car_model_year!gender | | x.gender.toLowerCase()==gender.toLowerCase())
.filter(x=>!colors | |.filter((x)=>colors.includes(x.car|u color)))
依此类推。您可以使用或运算符
results.data
.filter((x) => countries.includes(x.country))
.filter((x) => x.car_model_year > startYear && x.car_model_year < endYear)
.filter((x) => x.gender.toLowerCase() === gender.toLowerCase())
.filter((x) => colours.includes(x.car_color)),
results.data
.filter(x=>!countries | | countries.includes(x.country))
.过滤器(
x=>(!startYear | | x.car_model_year>startYear)
&&(!endYear | | x.car_model_year!gender | | x.gender.toLowerCase()==gender.toLowerCase())
.filter(x=>!colors | |.filter((x)=>colors.includes(x.car|u color)))
以此类推。您可以通过将值与null
进行比较来检查值是否为null
或未定义的
(请参阅),因此只需检查每个筛选表达式的或即可,它们仅在值不为null
或未定义的情况下进行筛选
results.data
.filter(x => !countries || countries.includes(x.country))
.filter(
x => (!startYear || x.car_model_year > startYear)
&& (!endYear || x.car_model_year < endYear)
)
.filter(x => !gender || x.gender.toLowerCase() === gender.toLowerCase())
.filter(x => !colours || .filter((x) => colours.includes(x.car_color)))
results.data
.filter((x)=>countries==null | | countries.includes(x.country))
.filter((x)=>startYear==null | | endYear==null | | x.car|u model_year>startYear&x.car_model_yeargender==null | | x.gender.toLowerCase()==gender.toLowerCase())
.filter((x)=>colors==null | | colors.包括(x.car|u color))
您可以通过将某个值与null
进行比较来检查该值是否为null
或未定义
(请参阅),因此只需检查每个筛选表达式的或即可,它们只会在该值不为null
或未定义
时进行筛选
results.data
.filter(x => !countries || countries.includes(x.country))
.filter(
x => (!startYear || x.car_model_year > startYear)
&& (!endYear || x.car_model_year < endYear)
)
.filter(x => !gender || x.gender.toLowerCase() === gender.toLowerCase())
.filter(x => !colours || .filter((x) => colours.includes(x.car_color)))
results.data
.filter((x)=>countries==null | | countries.includes(x.country))
.filter((x)=>startYear==null | | endYear==null | | x.car|u model_year>startYear&x.car_model_yeargender==null | | x.gender.toLowerCase()==gender.toLowerCase())
.filter((x)=>colors==null | | colors.包括(x.car|u color))