本文翻译youtube上的up主kudvenkat的javascript tutorial播放单

源地址在此:

https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b

filter()方法会制造一个新的数列,然后根据callback函数的条件来填充这个数列

格式:array.filter(callbackFunction[,thisArg])

参数

callbackFunction -- 必须,数列的每一个元素都会call这个函数.如果函数返回真,则元素保留,反之则被过滤掉

thisArg -- 非必须,一个可以在callback函数中被this关键字refer的对象

filter方法对于数列中的每一个元素都会呼出这个callback函数.如果对于每一个元素,callback函数都返回假,那么新数列的长度则为0

callback函数格式

function callbackFunction(value, index, array)

callback函数的参数

value -- 数列中的元素的值

index -- 数列中元素的index位置

array -- 包含元素的源数列对象

例子1: 从myArray中只获取所有的偶数

// Callback function
function IsEven(value, index, array)
{
if (value % 2 == 0)
{
return true;
}
else
{
return false;
}
} // Source array
var myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Pass the callback function as argument to the filter method
var result = myArray.filter(IsEven); document.write(result);

Output : 2,4,6,8,10

例子2: 在例子1中我们先定义了一个callback函数,然后将其作为filter方法的参数.在以下的例子中,我们则将callback函数在filler方法中作为匿名函数造出来

// Source array
var myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // callback function created directly in the filter method as anonymous function
var result = myArray.filter(function (v, i, a) { return v % 2 == 0 }); document.write(result);

Output : 2,4,6,8,10

例子3:将Javascript数列中的重复项移除

var myArray = ["Sam", "Mark", "Tim", "Sam"];

var uniqueItems = myArray.filter(function (v, i, a) { return a.indexOf(v) == i });

document.write(uniqueItems);

Output : Sam,Mark,Tim

[译]Javascript数列filter方法的更多相关文章

  1. JavaScript Array filter() 方法

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

  2. javascript 中 filter 方法

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

  3. javascript中filter方法

    array1.filter(callbackfn[, thisArg]) 參數   參數 定義 array1 必要項. 陣列物件. callbackfn 必要項. 最多接受三個引數的函式. filte ...

  4. [译]Javascript数列的push和pop方法

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

  5. JavaScript的filter方法

    var ages = [32, 33, 16, 40]; function checkAdult(age) { return age >= 18; } function myFunction() ...

  6. [译]Javascript中的数列

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

  7. JavaScript Array数组方法详解

    Array类型是ECMAScript中最常用的引用类型.ECMAScript中的数据与其它大多数语言中的数组有着相当大的区别.虽然ECMAScript中的数据与其它语言中的数组一样都是数据的有序列表, ...

  8. 数组map()方法和filter()方法及字符串startsWith(anotherString)和endsWith(anotherString)方法

    map方法的作用不难理解,"映射"嘛,也就是原数组被"映射"成对应新数组 var newArr = arr.map(function() {});例子: var ...

  9. JavaScript 数组(Array)方法汇总

    数组(Array)常用方法; 数组常用的方法:concat(),every(), filter(), forEach(),  indexOf(), join(), lastIndexOf(), map ...

随机推荐

  1. AtCoder Beginner Contest 087 D - People on a Line

    Time limit : 2sec / Memory limit : 256MB Score : 400 points Problem Statement There are N people sta ...

  2. 图的m着色问题 (回溯搜索)

    图的m着色问题 [问题描述]        给定无向连通图G和m种不同的颜色.用这些颜色为图G的各顶点着色,每个顶点着一种颜色.如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的 ...

  3. 生成Texture2D纹理图片

    using UnityEngine;using System.Collections; public class ProceduralTexture : MonoBehaviour{ public i ...

  4. Tomcat设计模式分析(转) 2

    Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析 这个分为两个部分的系列文章研究了 Apache Tomcat 服务器的系统架构以及其运用的很多经典设计模式.第 1 部分 分析了 Tom ...

  5. WINRAR4.2破解方式或注册码

    急求WINRAR4.2破解方式或注册码,谢谢大侠们!~ 亲,我是复制别个的但是可以用64位32位都可以用 自己动手破解 那感觉才棒! 来吧 将以下数据复制到记事本中 然后另存名为“rarreg.key ...

  6. python list和元祖

    一,元祖 在python中元祖是只能查询和读取的一组数据,在()内的赋值就是元祖,只有查询和读取的功能: 1.len()方法:查询元祖有多少个元素 s = (') print(len(s)) 结果: ...

  7. Angular5学习笔记 - 虚拟RestfulApi配置与使用(六)

    一.安装json-server功能 #windows cnpm install json-server -g #Mac & Linux sudo npm install json-server ...

  8. MySQL 5.6 date 与 string 的转换和比较

    我们有张表,表中有一个字段 dpt_date ,SQL 类型为 date,表示离开日期. 我们将 dpt_date 与字符串 ‘2016-03-09’ 进行比较,发现效率低于 dpt_date 转换为 ...

  9. 如何平衡MMO游戏

    转自:http://blog.sina.com.cn/s/blog_9f56a65f01013eti.html 前言 这是一篇出自国外博客“Elder Game”的一篇文章,笔者觉得里面很多东西说的很 ...

  10. Dataguard ORA-19909 ORA-01110

    在创建ORACLE 10G Dataguard时,报错: Datafile 1 (ckpscn 24967685451) is orphaned on incarnation#=6 MRP0: Bac ...