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强大的语法而感到震撼.因为以前对前端方面的疏忽,导致了一些理解的错误.因此痛改前非,下定决心,不管做什么事情,都要有专研的精神. 在介绍前,抛出一个问题:如何将 ...
随机推荐
- rabbit工作队列模式
工作队列比简单队列在消费者这边多了一个方法. channel.basicQos(1);公平队列消费(参数设置为1,表示消费者消费完一条才会去接受再次发来的消息) 生产者: package com.kf ...
- influxdb 端口、数据结构、写数据
InfluxDB 是一个开源,分布式,时间序列,事件,可度量和无外部依赖的数据库. InfluxDB有三大特性: Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求 ...
- jQuery中的pushStack
在学习jquery源码的时候,学到了其中的pushStack方法,在这里记录一下 源码为 // Take an array of elements and push it onto the stack ...
- Python-网络编程(一)
首先我们python基础部分已经学完了,而socket是我们基础进阶的课程,也就是说,你自己现在完全可以写一些小程序了,但是前面的学习和练习,我们写的代码都是在自己的电脑上运行的,虽然我们学过了模块引 ...
- c++中%是什么意思?
两种意思:1.格式化字符串输出2.整数取余 1.目前printf支持以下格式的输出,例如:printf("%c",a):输出单个字符.printf("%d",a ...
- Android碎笔录2——按键的点击变色和圆角实现
android的Button默认写出来之后都是方形的直角,并且点击感很不明显,只要在drawable中加上一个xml就能解决这个问题: <?xml version="1.0" ...
- androidUI异步消息
private Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { switch ...
- javascript 获取文档/屏幕的Width||Height
document.body.clientWidth //网页可见区域宽度document.body.clientHeight //网页可见区域高度document.body.offsetWidth / ...
- Rabbit MQ config文件解析
Rabbit MQ config文件解析 tcp_listeners:用于监听AMQP连接的端口或主机名/对(不带TLS),默认端口:5672 2.numtcpacceptors :将接受TCP侦听器 ...
- Struts2学习-Ioc学习-spring
1.面向对象写法(带着面向过程的思维)电脑 computer = new 电脑(); [电脑代码中 new 打印机()]computer.打印文本("hello 140"); 电脑 ...