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方法的更多相关文章

  1. javascript 中 filter 方法

    filter 方法用来迭代一个数组,并且按给出的条件过滤出符合的元素. filter 方法传入一个回调函数,这个回调函数会携带一个参数,参数为当前迭代的项(我们叫它 val ). 回调函数返回 tru ...

  2. JavaScript中Array方法总览

    title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...

  3. JavaScript中reduce()方法

    原文  http://aotu.io/notes/2016/04/15/2016-04-14-js-reduce/   JavaScript中reduce()方法不完全指南 reduce() 方法接收 ...

  4. JavaScript中的方法、方法引用和参数

    首先,我们来看一段代码,如果觉得不甚明白的,则本文会对你有益: var player = function (e) {             return (function f(m) {      ...

  5. 详解 JavaScript 中 splice() 方法

    splice() 方法是一个比较少用的方法,但是功能确实很好,并且在我们 coding 的时候,经常有需要 splice() 方法,先介绍一下该方法. 在 JavaScript 中 splice() ...

  6. JavaScript中的方法

    JavaScript中的方法 在JavaScript中,可以通过对象来调用对应的方法.在JavaScript中,有三个重要的window对象方法:用于显示警告信息的alert.用于显示确认信息的con ...

  7. JavaScript Array filter() 方法

    JavaScript Array filter() 方法 var ages = [32, 33, 16, 40]; function checkAdult(age) { return age > ...

  8. [译]Javascript数列filter方法

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  9. javascript中concat方法深入理解

    最近在恶补js知识的时候,总是会因为js强大的语法而感到震撼.因为以前对前端方面的疏忽,导致了一些理解的错误.因此痛改前非,下定决心,不管做什么事情,都要有专研的精神. 在介绍前,抛出一个问题:如何将 ...

随机推荐

  1. servlet开发(四)之ServletContext

    接上一篇. 2.3.4 利用ServletContext对象读取资源文件 比如我们要读取web项目中的配置文件. 项目目录结构如下: 使用ServletContext对象读取资源文件的示例代码如下: ...

  2. Javascript获取页面表格中的数据

    var main=mygrid.gettable("11"); //表示获取非固定列的表格 var main1=mygrid.gettable("01");// ...

  3. Linux 安装 EPEL YUM源

    原文:https://blog.csdn.net/harbor1981/article/details/51135623 我们用yum安装软件时,经常发现我们的yum源里面没有该软件,需要自己去wge ...

  4. css3打包后自动追加前缀插件:autoprefixer

    用vue-cli构建的项目脚手架已经帮你把autoprefixer的配置做好了,自己不需要做什么改动就会自动加前缀: 下面一起看看涉及到autoprefixer这个插件的一些配置: 1,postcss ...

  5. JavaEE之HttpServletRequest

    HttpServletRequest //要下载的这个文件的类型--客户端会通过文件的MIME类型去区分类型 response.setContentType( getServletContext(). ...

  6. 实现移动端touch事件的横向滑动列表效果

    要实现手机端横向滑动效果并不难,了解实现的原理及业务逻辑就很容易实现.原理:touchstart(手指按下瞬间获取相对于页面的位置)——>touchmove(手指移动多少,元素相应移动多少). ...

  7. Codeforces Round #412 A Is it rated ?

    A. Is it rated? time limit per test  2 seconds memory limit per test  256 megabytes Is it rated? Her ...

  8. python基础(二)--多值参数以及类

    1.多值参数函数 def 函数名(*args , **kwargs): ....... 多值参数函数顾名思义能够传入多个参数,args表示传入的元组,kwargs表示传入的字典 def functio ...

  9. mysql 更新sql报错:You can't specify target table 'wms_cabinet_form' for update in FROM clause

    数据库里面有两个字段的位置不对,要把他们对调换下.因为没有数据库写的权限,需要用sql语句来实现.原来以为简单的 update table a set a.字段a=(select b字段 from t ...

  10. spring----面试题

    1.什么是Spring beans? Spring beans 是那些形成Spring应用的主干的java对象.它们被Spring IOC容器初始化,装配,和管理.这些beans通过容器中配置的元数据 ...