const filterProducts = (products, starNumbers) => {
let tempProducts = [...products]
if(starNumbers.length > 0) {
tempProducts = tempProducts.filter(x => {
for(let num of starNumbers){
if(x.averageRating >= num && x.averageRating < num + 1 ){
return x
}
}
})
}
return tempProducts
}
products 是一个对象数组,starNumbers 是一个数字数组 我希望得到一个过滤的产品数组(如果 starNumbers = [4, 5] 我想要得到平均评级 = 4 和 5 的产品)
我需要进行哪些更改才能避免出现此警告?
答案 0 :(得分:-1)
filter
函数需要一个布尔值作为返回值,因此您需要返回的只是 if
语句中已有的内容
tempProducts = tempProducts.filter(x => {
let match = false;
for(let num of starNumbers){
if ( x.averageRating >= num && x.averageRating < num +1) {
match = true;
}
}
return match;
})
查看方法的文档here