JavaScript 的新版本(ECMAScript 5)中,为数组新增了一些方法。这些方法包括:

forEach(f [,o]): 此方法类似于for/in循环,其作用是遍历整个数组并执行函数的某些操作,但它不会遍历数组的属性。它接受一个函数参数,该函数可以有1、2与3个参数。完整的三个参数分别为:数组中的每一个值,数组的索引,数组本身。这个函数没有返回值。如:

var a = [0,1,2,3,4];
var sum = 0;
a.forEach(function(v,i,arr){
sum += v;
console.log(arr[i]);
});
// http://www.cnblogs.com/roucheng/

map(f [,o]): 类似于forEach()方法,但它有返回值---一个新数组,它的参数函数必须有返回值,参数函数的返回值作为新数组的元素。其它用法与forEach()方法类似。

var a = [1,2,3,4,5];
var b = a.map(function(x){
return x*x;
}); console.log(a); //[1,2,3,4,5]
console.log(b); //[1,4,9,16,25]

filter(f [, o]): 对数组元素进行过滤,返回一个符合要求的新数组。如:

var a = [1,2,3];
a[5] = 6; var b = a.filter(function(x){
return x !== undefined;
}); console.log(a); //[1,2,3,undefined,undefined,6];
console.log(b); //[1,2,3,6]; // http://www.cnblogs.com/roucheng/

every(f [, o]): 有一个布尔类型的返回值,函数参数f用来检测数组元素是否满足要求。有且只有数组全部元素都满足f的要求时,才会返回true,否则返回false。

var a = [1,3,7];  

var flag = a.every(function(x){
return x < 5;
}); console.log(flag); //false

some(f [, o]): 与every()方法不同,只要有数组元素满足f的要求就返回true,否则返回false。

var a = [1,3,7];  

var flag = a.some(function(x){
return x < 5;
}); console.log(flag); //true

reduce(f [, initial, index, array]): 对数组元素值进行计算。返回最后一次计算的值。函数f(x,y)接受两个参数,如果有初始值,则把初始值作为x计算,然后把每一次的计算值作为下一次的x,把数组元素依次作为y。

var a = [1,2,3,4,5];  

var b = a.reduce(function(x,y){
return x+y;
},0); console.log(b); //

reduceRight(): 与reduce()函数作用相同,只是它从右向左依次取数组元素。

indexOf(value [, start]): 根据值来找到相应在数组中的索引位置,取多个匹配索引用最小的那个或在没有匹配的情况下返回-1。

lastIndexOf(value [, start]): 与indexOf()函数相似,只是它是从后面向前面进行搜索。
        推荐:http://www.cnblogs.com/roucheng/p/css3train.html

JS Array ECMAScript5 Methods的更多相关文章

  1. js Array数组的使用

    js Array数组的使用   Array是javascript中的一个事先定义好的对象(也可以称作一个类),可以直接使用 创建Array对象 var array=new Array(): 创建指定元 ...

  2. 从Chrome源码看JS Array的实现

    .aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line spa ...

  3. js Array 方法总结

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. js & array to string

    js & array to string https://stackoverflow.com/questions/13272406/convert-string-with-commas-to- ...

  5. From Ruby array to JS array in Rails- 'quote'?

    From Ruby array to JS array in Rails- 'quote'? <%= raw @location_list.as_json %>

  6. 解决js array的key不为数字时获取长度的问题

    最近写js时碰到了当数组key不为数字时,获取数组的长度为0 的情况. 1.问题场景 var arr = new Array(); arr[‘s1‘] = 1001; console.log(arr. ...

  7. JS Array.reverse 将数组元素颠倒顺序

    <pre><script type="text/javascript"> //JS Array.reverse 将数组元素颠倒顺序//在JavaScript ...

  8. js Array 中的 map, filter 和 reduce

    原文中部分源码来源于:JS Array.reduce 实现 Array.map 和 Array.filter Array 中的高阶函数 ---- map, filter, reduce map() - ...

  9. js array & unshift === push head

    js array & unshift === push head const arr = [1, 2, 3]; console.log(arr.unshift(4, 5)); // 5 con ...

随机推荐

  1. Javascript - 栈 和 单链表

    最近在重温数据结构,于是写了一些代码玩玩,都是很初级的,表喷各位.... function Stack() { this.dataStore = []; this.top = 0; } Stack.p ...

  2. 【转】微信公众账号 Senparc.Weixin.MP SDK 开发教程 索引

    微信公众账号 Senparc.Weixin.MP SDK 开发教程 索引 Senparc.Weixin.MP SDK从一开始就坚持开源的状态,这个过程中得到了许多朋友的认可和支持. 目前SDK已经达到 ...

  3. 彩色的Shell

    我常在命令行下工作,以前老被同事说"你整天在那个黑窗口上倒腾什么?" 现在这个问题变成了"你这个花花绿绿的窗口是什么东西?" 其实都是同一个东西:一个兼容于xterm的终端窗口,要么是PuTTY/Ki ...

  4. sql读取xml

    DECLARE @ItemMessage XML SET @ItemMessage=cast(N'<?xml version="1.0" encoding="utf ...

  5. 关于mvc、webapi中get、post、put、delete的参数

    webapi中post提交的数据必须是一个类,get提交的数量无所谓 多种参数get时,参数名不能相同: 在能通过c#的校验的前提下,参数名.参数数量不能全完相同 public string Get( ...

  6. 刨根问底U3D---从Profile中窥探Unity的内存管理

    这篇文章包含哪些内容 这篇文章从Unity的Profile组件入手,来探讨一下Unity在开发环境和正式环境中的内存使用发面的一些区别, 并且给出了最好控制内存的方法(我想你已经知道了...Prefa ...

  7. STM32 SPI DMA 的使用

    一是想总结一下SPI总线的特点与注意点,二是总结一下SPI DMA的使用 一.SPI信号线说明 通常SPI通过4个引脚与外部器件相连: MISO:主设备输入/从设备输出引脚.该引脚在从模式下发送数据, ...

  8. POJ 2234 Matches Game

    Matches Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7567   Accepted: 4327 Desc ...

  9. iOS 7新功能例子

    参考https://github.com/shu223/iOS7-Sampler Code examples for the new functions of iOS 7. Contents Dyna ...

  10. 用 Python 和 OpenCV 检测图片上的条形码

      用 Python 和 OpenCV 检测图片上的的条形码 这篇博文的目的是应用计算机视觉和图像处理技术,展示一个条形码检测的基本实现.我所实现的算法本质上基于StackOverflow 上的这个问 ...