ECMAScript 5中的数组的方法

Ecmascript5定义了9个新的数组方法遍历,映射,过滤,检测,简化和搜索数组。

  1.forEach()

Array.orEach()方法从头到尾遍历数组,第一个参数为此元素值,第二个参数为索引值,第三个参数为此数组this引用。

var data=[1,2,3,4,5];
var sum=0;
data.forEach(funciton (item){
sum+=item;
});
sum; //=>15;
data.forEach(funciton(v,i,a){
a[i]=v+a;
})
data; //=>[2,3,4,5,6];

  2.map()

Array.map()方法将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值,此方法返回的为一个数组。

var arr=[1,2,3,4];
var temp=arr.map(funciton (value){
return value*value;
});
temp; //temp:[1,4,9,16]

  3.filter()

Array.filter()方法返回的数组元素是调用数组的一个子集。传递的函数是用来逻辑判定的:该函数返回true和false。

var arr=[1,2,3,4,5];
var smallValues=arr.filter(funciton (value){
reutrn value<3;
});
smallValues; //smallValues:[1,2];
var everyOther=arr.filter(function (value){
return value%2==0;
});
everyOther; //everyOther:[1,3,5];

  4.every()和some()

Array.every和Array.some()方法是数组的逻辑判定:他们对元素应用指定的函数进行判定,返回true和false。every()方法针对所有的数组元素进行判定,some()则为存在此条件的数组元素进行判定

var arr=[1,2,3,4,5];
arr.every(funciton (value){
return value<10;
}); //返回true:因为数组元素都小于10为真;
arr.some(funciton (value){
return value%2==0;
}); //返回true:因为数组元素中存在偶数
arr.some(isNan); //返回false:因为数组元素中不存在非空元素;

  5.reduce()和reduceRight()

Array.reduce()和Array.reduce.Right()方法使用指定的函数将数组元素进行组合,生成单个值。reduce()方法第一个参数为执行化简操作的函数,第二个参数为初始值。reduceRight()方法像似,区别是便利时reduceRight索引是从高至低,reduce索引是从低到高。

var arr=[1,2,3,4,5];
var sum=arr.reduce(funciton (x,y){ return x+y;},0); //数组求和;
var product=arr.reduce(funciton (x,y){ return x*y;},1 ); //数组求积;
var max=arr.reduce(function (x,y){ return x>y?x:y;}); //数组求最元素;
var big=arr.redureRight(funciton (accumulator,value){
  return Math.pow(value,accumulator);
});计算1^(2^(3^(4^5)))。乘方的优先顺序是从右到左。

6.indexOf()和lastIndexOf()

Array.indexOf()和lastIndexOf()方法,搜索整个数组中具有给定值的元素,返回找到第一个元素的索引,如果未找到返回-1;而LastIndexOf()方法是反响索引。第一个参数为,要搜索的元素,第二个参数,开始位置。  

javascrip中array使用(续)的更多相关文章

  1. javascrip中array使用

    一.测试数组长度是使用arr.length;(注:使用delete不会修改数组的length属性) 二.数组方法 1.join() Array.join()方法将数组所有元素都转化为字符串连接在一起, ...

  2. JavaScrip中 Array.reduce()

    数组的方法 reduce() reduce方法在数组的每一项元素上都会执行回调函数. 语法:array.reduce( callBack [ , init]  ) // 语法arrary.reduce ...

  3. Flex中 Array 的IndexOf 的作用

    Flex中 Array 的IndexOf 的作用 1.说明    indexOf用于在索引中从小到大查找,假设查得到就返回索引值,查不到就返回-1: 2.实例 (1)设计源代码 <?xml ve ...

  4. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  5. Javascript中Array(数组)对象常用的几个方法

    Javascript中Array数组的几个常用方法 pop()  --获取数组中末尾的元素 shift() --获取数组中首位元素 push() --在数组中末尾增加元素 slice()  --按照下 ...

  6. Javascript 中 Array的 sort()和 compare()方法

    Javascript 中 Array的 sort()方法其实是把要排序的内容转化为string(调用 toString()), 然后按照字符串的第一位 ascii 码先后顺序进行比较,不是数字. 我们 ...

  7. JavaScript 中Array数组的几个内置函数

    本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...

  8. Java-杂项: Java中Array和ArrayList区别

    ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...

  9. JavaScript中Array方法总览

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

随机推荐

  1. ubuntu上 安装 基于sphinx 的 coreseek 全文搜索

    原生sphinx不支持中文, sphinx-for-chinese匹配中文时也不返回结果 ,真纠结,  最好试了 coreseek,这个能正确返回结果了, 所以记录一下 1 http://www.co ...

  2. 每天一条linux命令——shutdown

    shutdown命令用来系统关机命令.shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作. 语法: shutdown(选项)(参数) 选项: -c:当执行“shutdown ...

  3. sed工具使用

    sed命令使用形式 1.sed命令从管道中读取数据处理 command | sed ' edit command' 通过管道把一个命令的标准输出读入到sed的标准输入,sed就起到了过滤作用 2.se ...

  4. PHP 文字,图片水印,缩略图,裁切成小图(大小变小)

    文字水印基本思路:1.用getimagesize()获取图片的信息(as:大小,属性等):2.根据图片信息用imagecreatefromjpeg ()/imagecreatefromgif/imag ...

  5. curl采集 根据关键词 获取雅虎竞价排名

    之前写过curl批处理采集数据,这里贴上完整版本,代码很简单,废话不说,上代码,新手欢迎指教!!! 代码只写到 获取到链接了,至于排名 后边数组的键不就是排名喽... <?php /** * B ...

  6. linux下文件加密压缩和解压的方法

    一.用tar命令 对文件加密压缩和解压 压缩:tar -zcf  - filename |openssl des3 -salt -k password | dd of=filename.des3 此命 ...

  7. 将UIImage保存到iOS照片库和对应程序沙盒中-b

    1.保存到iOS照片库需要引入QuartzCore.framework框架,具体代码如下:.h文件#import <QuartzCore/QuartzCore.h>UIImageView ...

  8. PS制作独特火焰立体文字

    效果图中的文字部分并不复杂,为简单的立体字,用图层样式及手工复制就可以做好.火焰部分稍微有点复杂,用动感及火焰素材叠加,然后再加上火花及炫光等渲染出动感效果即可.最终效果 素材下载:本教程中需要用到的 ...

  9. VS2010皮肤控件介绍

    在我们平时使用的各种工具中,如QQ,迅雷,以及各种空间等,都提供了一些换肤功能,可以让我们选择各种我们喜欢的界面.本文就对VS中常用的窗口程序做一个简单的换肤,利用一个dll文件来进行实现. 首先我们 ...

  10. NCPC 2012 Galactic Warlords

    湖南大学的oj上有这套比赛: 这题是个简单的计算几何,首先去掉重复的边,然后判断是否全部平行: 代码: #include<cstdio> #define maxn 105 using na ...