方法概述

  用于把数组(Array)的某些元素过滤掉,然后返回剩下的元素组成的数组。

语法:

var filteredArray = array.filter(callback[, thisObject]);

参数说明:

callback: 要对每个数组元素执行的回调函数。
thisObject : 在执行回调函数时定义的this对象。

//过滤掉小于 10 的数组元素:

//代码:
function isBigEnough(element, index, array) {
return (element >= 10);
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// 12, 130, 44
//结果:[12, 5, 8, 130, 44].filter(isBigEnough) : 12, 130, 44

功能说明:

对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。

回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。

如参数 thisObject 被传递进来,它将被当做回调函数(callback)内部的 this 对象,如果没有传递或者为null,那么将会使用全局对象。

filter 不会改变原有数组,记住:只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素将被忽略,而在回调函数开始执行到最后一个元素这一期间,数组元素被删除或者被更改的,将以回调函数访问到该元素的时间为准,被删除的元素将被忽略。

测试以下代码并思考结果:

function isBigEnough(element) {
return (element >= 10);
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
filtered.sort(function(x,y){
return y-x;
});
console.log(filtered);

最新文章

  1. XSS跨站脚本小结
  2. debian8 Apache 更改根目录
  3. Quartz 2d绘图
  4. freeswitch
  5. 有关git的换行符的处理问题
  6. Elsevier 投稿各种状态总结
  7. UVA 657 The die is cast
  8. xPath技术
  9. jQuery中的trigger和triggerhandler区别
  10. ruby直接字符串压缩与解压缩
  11. [源码]Python简易http服务器(内网渗透大文件传输含下载命令)
  12. 介绍HTTP协议的传输过程
  13. mysql5.7.24启动报错:ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
  14. Spring Boot(七):Mybatis 多数据源最简解决方案
  15. 洛谷 P2894 [USACO08FEB]酒店Hotel-线段树区间合并(判断找位置,不需要维护端点)+分治
  16. Loj10094 消息的传递
  17. ionic3 返回多个页面的写法
  18. 【vijos】P1190 繁忙的都市
  19. Linux cmp命令——比较二进制文件(转)
  20. 第二百六十三节,Tornado框架-基于正则的动态路由映射

热门文章

  1. 分分钟钟学会Python - 解释器安装
  2. elasticsearch-7.0.0-windows 安装
  3. Windows操作系统的发展简介
  4. ACM java写法入门
  5. 用PL/sql连接oracle 弹窗出现 could not resolve the connect identifier specified 这个错误
  6. putty访问虚拟机
  7. mysql 导入 excel 数据
  8. 解析ES6 Promise
  9. Class and Instance Variables In Ruby
  10. STM32F407 使用HAL库延时微妙实现方法(附CubeMX配置过程)