array:必需参数,一个数组对象。
callbackfn:必需参数,一个接收最多三个参数的函数。对于数组中的每个元素,filter 方法都会调用 callbackfn 函数一次。
thisArg:可选参数,可在 callbackfn 函数中为其用 this 关键字的对象。如果省略 thisArg,则 undefined 将用作 this 值。
返回值是一个包含回调函数为其返回 true 的所有值得新数组。如果回调函数为 array 的所有元素返回 false,则新数组的长度为 0。
对于数组中的每个元素,filter 方法都会调用 callbackfn 函数一次(采用升序索引顺序)。不为数组中缺少的元素调用该回调函数。回调函数的用法与 map 相同。
除了数组对象之外,filter 方法可由具有 length 属性,且具有已按数字编制索引的属性名的任何对象使用。
下面示例演示如何使用 filter 方法筛选出数组中的素数。
function f (value, index, ar) {
high = Math.floor(Math.sqrt(value)) + 1;
for (var div = 2; div <= high; div ++) {
if (value % div == 0) {
return false;
return true;
var a = [31,33,35,37,39,41,43,45,57,49,51,53];
var a1 = a.filter(f);
console.log(a1); //31,37,41,43,47,53
下面示例演示如何使用 filter 方法过滤掉数组中在指定范围外的元素。
var f = function (value) {
if (typeof value !== 'number'){
return false;
} else {
return value >= this.min && value <= this.max;
var a = [6, 12, "15", 16, "the", -12];
var obj = {min : 10, max : 20};
var r = a.filter(f, obj);
console.log(r); //12,16
下面示例演示如何使用 filter 方法过滤字符串中每个单词的首字母。
function f (value, index, ar) {
if (index == 0) {
return true;
} else {
return ar[index - 1] === " ";
var a = "The quick brown fox jumps over the lazy dog.";
var subset = [].filter.call(a, f);
console.log(subset); //T,q,b,f,j,o,t,l,d
socket
Python基础教程
MySQL函数
MySQL
C语言入门
C语言专题
C语言编译器
C语言编程实例
GCC编译器
C语言项目案例
C++教程
OpenCV
Unity 3D教程
Redis
Android教程
JavaScript
Mybatis
Spring Cloud
Maven
Spring Boot
Spring MVC
Hibernate
Linux
Linux命令
Shell脚本
Java教程
Spring
Servlet
Struts2
Java Swing
JSP教程
CSS教程
TensorFlow
Go语言教程
Docker
VIP视频
Shell while循环详解
Windows线程调度策略(超详细)
Python导入模块,Python import用法(超级详细)
C# Driveinfo:获取计算机驱动器信息
Bash Shell中的信号
Redis哈希数据结构和常用命令
Go语言哈希函数
Spring Cloud Ribbon结合RestTemplate实现负载均衡
Spring Cloud Zuul网关的介绍及使用
Java不规则数组