博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[译]Javascript数列filter方法
阅读量:5335 次
发布时间:2019-06-15

本文共 1528 字,大约阅读时间需要 5 分钟。

本文翻译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 functionfunction IsEven(value, index, array) {    if (value % 2 == 0)     {        return true;    }    else     {        return false;    }}// Source arrayvar myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];// Pass the callback function as argument to the filter methodvar result = myArray.filter(IsEven);document.write(result);

 

Output : 2,4,6,8,10

 

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

// Source arrayvar myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];// callback function created directly in the filter method as anonymous functionvar 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

转载于:https://www.cnblogs.com/otakuhan/p/7712920.html

你可能感兴趣的文章
(转)接口测试用例设计(详细干货)
查看>>
js Math对象方法 (个人学习笔记)
查看>>
helm-chart-2-chart结构和简单模板
查看>>
【转】设计模式总结之模式分类
查看>>
springboot续之Thymeleaf视图解析器
查看>>
转载Repository 和Unit of work的使用说明
查看>>
文件分割与合并
查看>>
redis中各种数据类型对应的jedis操作命令
查看>>
设置虚拟机安装的mysql访问权限及删除mysql
查看>>
vue项目中别个访问你的本地调试需要改东西
查看>>
SpringBoot集成Swagger2 以及汉化 快速教程
查看>>
读《奇点临近》
查看>>
[百科]sys/types.h
查看>>
DAY56-前端入门-javascript(三)
查看>>
Anaconda 环境中使用pip安装时候出现的一些问题
查看>>
POJ 3461 还是两种方法
查看>>
【译】SSH隧道:本地和远程端口转发
查看>>
win8.1安装Python提示缺失api-ms-win-crt-runtime-l1-1-0.dll问题
查看>>
mysql授权grant
查看>>
图片点击轮播(三)-----2017-04-05
查看>>