javascript中filter方法
array1.filter(callbackfn[, thisArg])
|
參數 |
定義 |
|---|---|
|
array1 |
必要項。 陣列物件。 |
|
callbackfn |
必要項。 最多接受三個引數的函式。 filter 方法會針對陣列中的每個元素各呼叫 callbackfn 函式一次。 |
|
thisArg |
選擇項。 this 關鍵字可在 callbackfn 函式中參考的物件。 如果省略 thisArg,則 this 的值就是 undefined。 |
新陣列,其中包含回呼函式針對來源陣列傳回 true 的所有元素。 如果回呼函式針對 array1 的所有元素都傳回 false,新陣列的長度就是 0。
如果 callbackfn 引數不是函式物件,就會擲回 TypeError 例外狀況。
filter 方法會針對陣列中的每個元素各呼叫 callbackfn 函式一次 (以遞增索引順序)。 回呼函式會略過陣列中遺漏的元素。
除了陣列物件之外,任何具有 length 屬性且具有數值索引屬性名稱的物件都可以使用 filter 方法。
回呼函式語法
回呼函式的語法如下:
function callbackfn(value, index, array1)
您最多可以使用三個參數宣告回呼函式。
下表列出回呼函式參數。
|
回呼引數 |
定義 |
|---|---|
|
value |
陣列元素的值。 |
|
index |
陣列元素的數值索引。 |
|
array1 |
包含元素的陣列物件。 |
修改陣列物件
filter 方法不會直接修改原始陣列,但是回呼函式可以修改。 下表顯示啟動 filter 方法後修改陣列物件的結果。
|
filter 方法啟動後的狀況。 |
元素是否會傳遞至回呼函式? |
|---|---|
|
在超出陣列原始長度的位置加入元素。 |
否。 |
|
加入的元素會填補至陣列中有遺漏元素的位置。 |
是 (如果該索引尚未傳遞至回呼函式的話)。 |
|
元素已變更。 |
是 (如果該元素尚未傳遞至回呼函式的話)。 |
|
從陣列中刪除元素。 |
否 (除非該元素已傳遞至回呼函式)。 |
在下列範例中,callbackfn 引數包含回呼函式的程式碼。
// Create the original array.
var arr = [5, "element", 10, "the", true]; // Create an array that contains the string
// values that are in the original array.
var result = arr.filter(
function (value) {
return (typeof value === 'string');
}
); document.write(result);
// Output: element, the
javascript中filter方法的更多相关文章
- javascript 中 filter 方法
filter 方法用来迭代一个数组,并且按给出的条件过滤出符合的元素. filter 方法传入一个回调函数,这个回调函数会携带一个参数,参数为当前迭代的项(我们叫它 val ). 回调函数返回 tru ...
- JavaScript中Array方法总览
title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...
- JavaScript中reduce()方法
原文 http://aotu.io/notes/2016/04/15/2016-04-14-js-reduce/ JavaScript中reduce()方法不完全指南 reduce() 方法接收 ...
- JavaScript中的方法、方法引用和参数
首先,我们来看一段代码,如果觉得不甚明白的,则本文会对你有益: var player = function (e) { return (function f(m) { ...
- 详解 JavaScript 中 splice() 方法
splice() 方法是一个比较少用的方法,但是功能确实很好,并且在我们 coding 的时候,经常有需要 splice() 方法,先介绍一下该方法. 在 JavaScript 中 splice() ...
- JavaScript中的方法
JavaScript中的方法 在JavaScript中,可以通过对象来调用对应的方法.在JavaScript中,有三个重要的window对象方法:用于显示警告信息的alert.用于显示确认信息的con ...
- JavaScript Array filter() 方法
JavaScript Array filter() 方法 var ages = [32, 33, 16, 40]; function checkAdult(age) { return age > ...
- [译]Javascript数列filter方法
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- javascript中concat方法深入理解
最近在恶补js知识的时候,总是会因为js强大的语法而感到震撼.因为以前对前端方面的疏忽,导致了一些理解的错误.因此痛改前非,下定决心,不管做什么事情,都要有专研的精神. 在介绍前,抛出一个问题:如何将 ...
随机推荐
- poj 2392 建塔(多重背包+不定上界)
http://blog.csdn.net/libin56842/article/details/9492351 这次比较理解那个!dp[j]是为了什么,因为是滚动数组,没有这个的话used那边会出问题 ...
- 远程连接Redis服务器
建立了一个redis服务器,那么其他主机应该怎么连接上呢? /** * * 修改redis.conf配置文件 * */ // 1. 注释掉bind绑定配置 // 2. 搜索并修改为 protected ...
- div 旋转
-webkit-transform:rotate(120deg); -moz-transform:rotate(120deg); -o-transform:rotate(120deg); /* fil ...
- vue-构建项目相关事项
安装 :vue-cli npm install -g vue-cli 使用webpack 打包 vue 項目的創建: vue init webpack 項目名子 生產基本的項目結構后 進入到項目目錄 ...
- 002服务提供者Eureka
1.POM配置 和普通Spring Boot工程相比,仅仅添加了Eureka.Spring Boot Starter Actuator依赖和Spring Cloud依赖管理 <dependenc ...
- Python爬虫教程-25-数据提取-BeautifulSoup4(三)
Python爬虫教程-25-数据提取-BeautifulSoup4(三) 本篇介绍 BeautifulSoup 中的 css 选择器 css 选择器 使用 soup.select 返回一个列表 通过标 ...
- 【网络编程】TCP网络编程
TCP网络程序设计 一.模型函数化 图片:TCP编程模型 1.1 创建套接字Socket #include <sys/types.h> /* See NOTES */ #include & ...
- mysql 链接报 Can't connect to MySQL server on 'localhost' (10061)
之前好好的,重启了下电脑就报了上面的问题... 解决办法很简单:重启下mysql的服务: win7系统,电脑-管理-服务和应用程序-服务,找到mysql重启 即可.
- css中attribute selector及pseudo class
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference#Selectors 在css3规范中,定义了以下几种类型的selector: Ba ...
- Ubuntu安装使用pyltp和StanfordCoreNLP
环境:Ubuntu 16.04+anaconda3 一.pyltp 1. 安装 直接用pip安装: pip install pyltp 然后下载语言模型库,网址:https://pan.baidu.c ...