js开发filter()使用
时间: 2023-10-24 21:12:00 浏览: 86
filter() 是 JavaScript 中 Array 对象自带的方法之一,用于过滤数组中的元素,返回一个符合条件的新数组。
filter() 方法的语法如下:
```javascript
array.filter(callback[, thisArg])
```
其中,callback 是一个回调函数,用于测试每个元素是否符合条件。回调函数参数如下:
- currentValue:当前元素的值。
- index(可选):当前元素的索引。
- array(可选):当前操作的数组。
thisArg 是可选参数,用于在回调函数中定义 this 值。
filter() 方法会遍历数组中的每一个元素,对每个元素都会调用一次回调函数。如果回调函数返回 true,则该元素将保留在返回的新数组中;如果回调函数返回 false,则该元素将被过滤掉。
下面是一个示例代码,演示如何使用 filter() 方法过滤数组中的质数:
```javascript
// 判断是否为质数
function isPrime(num) {
if (num < 2) {
return false;
}
for (let i = 2; i < num; i++) {
if (num % i === 0) {
return false;
}
}
return true;
}
// 过滤数组中的质数
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const primeArr = arr.filter(isPrime);
console.log(primeArr); // [2, 3, 5, 7]
```
在这个示例中,首先定义了一个 isPrime() 函数,用于判断一个数是否为质数。然后使用 filter() 方法过滤数组中的质数,最后输出结果。
另外,filter() 方法返回的是一个新数组,原数组并没有改变。如果想修改原数组,可以使用 forEach() 方法或者 map() 方法。
阅读全文