js 数组过滤
时间: 2023-06-21 21:18:12 浏览: 80
JavaScript中的数组过滤可以使用Array.prototype.filter()方法来实现。该方法创建一个新的数组,其中包含所有通过指定函数测试的元素。
语法如下:
```
array.filter(callback(element[, index[, array]])[, thisArg])
```
其中,callback为用来测试每个元素的函数,它可以接收三个参数:
- element:当前元素
- index:当前元素的索引(可选)
- array:当前数组(可选)
thisArg是可选的,表示在执行callback时使用的this值。
示例代码如下:
```javascript
// 过滤出数组中的偶数
const arr = [1, 2, 3, 4, 5, 6];
const evenArr = arr.filter(item => item % 2 === 0);
console.log(evenArr); // [2, 4, 6]
```
上面的代码使用filter方法过滤出了数组中的偶数,创建了一个新的数组evenArr。
相关问题
JS数组过滤
在 JavaScript 中,可以使用 `filter()` 方法来过滤数组。该方法创建一个新数组,其中包含符合指定条件的原始数组的所有元素。
以下是一个示例,演示如何使用 `filter()` 方法来过滤数组,仅保留大于 5 的元素:
```javascript
const numbers = [2, 5, 8, 1, 4, 11];
const filteredNumbers = numbers.filter(function(num) {
return num > 5;
});
console.log(filteredNumbers); // 输出 [8, 11]
```
在上面的代码中,我们定义了一个名为 `numbers` 的数组,并使用 `filter()` 方法创建了一个名为 `filteredNumbers` 的新数组。在 `filter()` 方法的回调函数中,我们指定了一个条件,即仅保留大于 5 的元素。最后,我们使用 `console.log()` 方法输出了 `filteredNumbers` 数组。
你也可以使用箭头函数来简化上面的代码,如下所示:
```javascript
const numbers = [2, 5, 8, 1, 4, 11];
const filteredNumbers = numbers.filter(num => num > 5);
console.log(filteredNumbers); // 输出 [8, 11]
```
这两种方法都会产生相同的输出。
js数组过滤empty
你可以使用`filter()`方法,结合`Boolean()`函数来过滤掉空元素。具体实现如下:
```javascript
const arr = ["", "hello", "", "world", " ", "javascript"];
const filteredArr = arr.filter(Boolean);
console.log(filteredArr); // ["hello", "world", " ", "javascript"]
```
在`filter()`方法中传入`Boolean`函数,会将数组中所有被解析为`false`的元素过滤掉。空字符串、空格等被解析为`false`,因此可以被过滤掉。
阅读全文