js使用filter
时间: 2023-11-07 15:55:36 浏览: 74
JavaScript中filter的用法实例分析
5星 · 资源好评率100%
在JavaScript中,filter()是一个数组方法,用于过滤数组中的元素并返回符合条件的新数组。filter()方法接受一个函数作为参数,该函数定义了过滤的规则。该函数会遍历数组中的每个元素,并根据定义的条件进行筛选。如果函数返回true,则将该元素包含在返回的新数组中;如果函数返回false,则将该元素排除在外。
使用filter()方法的语法如下:
array.filter(function(currentValue, index, arr), thisValue)
其中,currentValue表示数组中当前正在遍历的元素,index表示当前元素的索引,arr表示原始数组。
以下是一个使用filter()方法进行数组去重的示例:
```javascript
function unique(arr) {
return arr.filter(function(item, index, arr) {
return arr.indexOf(item, 0) === index;
});
}
var arr = [1, 1, 'RUNOOB', 'RUNOOB', true, true, 15];
console.log(unique(arr)); // 输出 [1, "RUNOOB", true, 15]
```
以上示例中,unique()函数接受一个数组作为参数,并使用filter()方法进行去重操作。在filter()方法中,通过比较当前元素在原始数组中的第一个索引和当前索引值,来判断是否为重复元素。返回的新数组即为去重后的结果。
另外,还可以使用filter()方法进行其他类型的筛选。例如,下面的示例演示了如何使用filter()方法筛选出数组中不重复的水果名称:
```javascript
var arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
var temp_arr = arr.filter(function (element, index, self) {
return self.indexOf(element) === index;
});
console.log(temp_arr); // 输出 ["apple", "strawberry", "banana", "pear", "orange"]
```
以上示例中,使用filter()方法结合indexOf()方法筛选出了数组中不重复的水果名称。返回的temp_arr数组中只包含了不重复的元素。
综上所述,使用filter()方法可以对数组进行条件筛选,并返回符合条件的新数组。这个方法在JavaScript中是非常常用的数组操作之一。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [JS filter()方法 介绍和使用](https://blog.csdn.net/weixin_39501680/article/details/122035254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [JS中filter()方法的使用](https://blog.csdn.net/weixin_45811256/article/details/115543700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文