JS Array ECMAScript5 Methods
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的更多相关文章
- js Array数组的使用
js Array数组的使用 Array是javascript中的一个事先定义好的对象(也可以称作一个类),可以直接使用 创建Array对象 var array=new Array(): 创建指定元 ...
- 从Chrome源码看JS Array的实现
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line spa ...
- js Array 方法总结
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js & array to string
js & array to string https://stackoverflow.com/questions/13272406/convert-string-with-commas-to- ...
- From Ruby array to JS array in Rails- 'quote'?
From Ruby array to JS array in Rails- 'quote'? <%= raw @location_list.as_json %>
- 解决js array的key不为数字时获取长度的问题
最近写js时碰到了当数组key不为数字时,获取数组的长度为0 的情况. 1.问题场景 var arr = new Array(); arr[‘s1‘] = 1001; console.log(arr. ...
- JS Array.reverse 将数组元素颠倒顺序
<pre><script type="text/javascript"> //JS Array.reverse 将数组元素颠倒顺序//在JavaScript ...
- js Array 中的 map, filter 和 reduce
原文中部分源码来源于:JS Array.reduce 实现 Array.map 和 Array.filter Array 中的高阶函数 ---- map, filter, reduce map() - ...
- js array & unshift === push head
js array & unshift === push head const arr = [1, 2, 3]; console.log(arr.unshift(4, 5)); // 5 con ...
随机推荐
- 画六边形-mat
%% theta = linspace(0,2*pi,7); D=2; %边长 X=1; %中心横坐标 Y=2; %中心纵坐标 plot(D*cos(theta)+X,D*sin(theta) + Y ...
- Windows 7下安装MongoDB
1.下载mongodb-win32-x86_64-2008plus-2.6.7-signed.msi(如今最新版本号已经到了3.0) 2.如果为64位操作系统则双击 mongodb-win32-x86 ...
- 调用 google speech api (使用Google语音识别引擎)
完全参考自: http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/ http://aiku.me/bar/104480 ...
- IE11兼容性设定
增加browser文件,如下: <browsers> <browser refID="Default"> <capabilities&g ...
- 关于Task类处理多线程简单示例
1.定义一个线程 var task1 = Task.Factory.StartNew(() => DoSomeWork()):方法如下: private static obje ...
- CSS基础(一):开篇
背景 HTML是一种超文本标记语言,用来定义文档的结构和内容,例如标题.段落和列表等等,而文档内容如何渲染.如何展示,这就需要样式来修饰了.CSS正是可以与HTML很好地结合.如果将HTML比作水,那 ...
- UFT\QTP 12 新特性
UFT\QTP 12 新特性 http://blog.csdn.net/testing_is_believing/article/details/22310297
- Android之布局onClick属性写法规则
/** Called when the user clicks the Send button */public void sendMessage(View view) { // Do some ...
- Session丢失的解决办法小结
最近在做ASP.NET项目时,测试网站老是取不出Session中的值,在网上搜索了一下,找到一些解决方法,记录在这里.最后使用存储在StateServer中的办法解决了问题. SessionState ...
- 使用EntityFramwork[6.1]进行级联保存的时候出现异常
出现的异常:System.InvalidOperationException: Multiplicity constraint violated. The role 'IncomeItem_Creat ...