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强大的语法而感到震撼.因为以前对前端方面的疏忽,导致了一些理解的错误.因此痛改前非,下定决心,不管做什么事情,都要有专研的精神. 在介绍前,抛出一个问题:如何将 ...
随机推荐
- Heka 的配置文件加载逻辑
Heka 使用的是 TOML 格式的配置文件, 有关 golang 加载 TOML 配置文件的技术请参看: http://www.cnblogs.com/ghj1976/p/4082323.html ...
- Java String、string[]、List初始化方法
String初始化: 1.String str = new String("string1"); 2.String str = "string1"; Strin ...
- php字符集转换
PHP通过iconv将字符串从GBK转换为UTF8字符集. 1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件.例如:从GB2312转换为UTF-8. ic ...
- 不同浏览器下word-wrap,word-break,white-space强制换行和不换行总结
强制换行与强制不换行用到的属性 我们一般控制换行所用到的CSS属性一共有三个:word-wrap; word-break; white-space.这三个属性可以说是专为了文字断行而创造出来的.首先我 ...
- Can't read stdin: end of file found
问题是在我修改svn的账号和密码后出现的,因为百度出来的情况只有一种答案,所以记录一下我的情况,给其他人多一种排查思路.问题根源是,由于该版本库只有一个账号,更改了账号密码,没有同步修改post-co ...
- MySQL创建子视图并查看的时候,字符集报错问题
进入命令行模式, 如果MySQL数据库已经安装好,可以使用下列SQL命令查看MySQL当前的字符集设置: mysql> show variables like 'character_set_%' ...
- html+css中常见的浏览器兼容性处理
1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...
- JavaScript中sort()方法
sort()方法主要是用于对数组进行排序,默认情况下该方法是将数组元素转换成字符串,然后按照ASC码进行排序,这个大家都能理解,但如果数组元素是一个Object呢,转不了字符串,难道不能进行排序?答案 ...
- android测试Code
<!--android:layout_alignParentTop="true"--><com.koooke.platform.View.CenterImage ...
- git go使用socket5代理
git # set git through socks5 proxy: git config --global http.proxy socks5://127.0.0.1:1080 # Recover ...