JavaScript 中Array数组的几个内置函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 中Array数组的几个内置函数相关的知识,希望对你有一定的参考价值。
本文章内容均参考《javascript高级程序设计第三版》
今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工作中能方便查询,故编写此随笔。直接贴代码,
function arrayEffect(){ var numbers = [1,2,3,4,5,6,7,8,9,10]; //------------------------------------ 支持浏览器版本 IE9+,Firfox 2+ ,Safair 3+,Opera 9.5+,Chrome ------------------------------------ /** every迭代方法,对数组中的每一项运行给定函数,只有该函数对没一项的返回值都为true,则返回true **/ var ever = numbers.every(function (item,index,array){ return item - 1 == index; }); /** filter方法,股民思议,类似于过滤器,返回true项组成的一个数组 **/ var filter = numbers.filter(function(ele,index,array){ return ele % 3 == 0; }); /** 对数组中的每一项给定函数,返回每次函数调用的结果组成的数组 */ var map = numbers.map(function(ele ,index,array){ return ele * ele; }); /** 对数组中的每一项给定函数,如果该函数的任意一项返回true,则返回true,否则返回false */ var some = numbers.some(function(ele,index,array){ return ele % 2 == 0; }); //------------------------------------------------------------------------------------------------------------------------------------- /** 接收两个参数,在每一项上调用的函数和作为规避基础的初始值(第一个项为可选项) * 调用函数有四个参数,前一个值,当前值,当前元素数组位置,和数组对象 * tips : 执行函数中的每一个向的返回值,都会当做下一项执行函数的第一个参数 * 如第一次执行回调,prev为1,cur为2。第二次prev为3(1 + 2的结果),cur是3(第三项)。直到最后一个数组元素 * 支持浏览器版本 IE9+ , Firfox 3+ , Safair 4+,Opera 10.5,Chrome */ var reduce = numbers.reduce(function(prev,cur,index,array){ return prev + cur; },34); /** 接收两个参数,在每一项上调用的函数和作为规避基础的初始值(第一个项为可选项) * 调用函数有四个参数,前一个值,当前值,当前元素数组位置,和数组对象(与reduce互为反向操作,即总最后一项开始往前面便利元素,除此之外没有任何不同) * 支持浏览器版本 IE9+ , Firfox 3+ , Safair 4+,Opera 10.5,Chrome */ var reduceRight = numbers.reduceRight(function (prev,cur,index,array){ return prev + cur; }); alert("The every method of array : " + ever); alert("The filter method of array : " + filter); alert("The map method of array : " + map); alert("The some method of array : " + some); alert("The reduce method of array :" + reduce); alert("The reduceRight method of array :" + reduceRight); }
以上是关于JavaScript 中Array数组的几个内置函数的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript中的数组(Array)方法你真的了解吗?