📅  最后修改于: 2023-12-03 15:24:55.673000             🧑  作者: Mango
有时候在 JavaScript 数组中我们需要过滤出符合特定条件的值,我们可以使用filter方法进行过滤。在filter方法中,我们可以传递一个比较器函数,返回为true的值将保留在过滤后的新数组中,而返回false的值则会被过滤掉。那么如何过滤掉比较器函数不返回true的数组中的值呢?
答案是使用Array.prototype.filter()方法结合Boolean()函数来实现。
Boolean()函数的作用是将参数转换成布尔值,参数为假值(false, null, 0, "", undefined, 和 NaN)时返回false,其余情况都返回true。因此,在比较器函数中使用Boolean()函数将会过滤掉比较器函数不返回true的元素。
下面是实现的示例代码:
const arr = [1, 2, 3, 4, 5];
// 过滤出大于3的元素
const filteredArr = arr.filter(num => num > 3);
console.log(filteredArr); // [4, 5]
// 过滤出比3小的元素
const filteredArr2 = arr.filter(num => !Boolean(num > 3));
console.log(filteredArr2); // [1, 2, 3]
在第二个示例中,使用!Boolean(num > 3)来过滤掉不符合要求的元素。其中Boolean(num > 3)会将大于3的元素返回true,然而!运算符会将true转换为false,所以不符合要求的元素就会被过滤掉。
希望这篇文章能够帮助你在JavaScript中使用filter方法进行元素过滤。