原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Array.html
- 本文有缺点,须要订正和革新
- 本文存在讲明,但该网站的Markdown编辑器不支持,所以没法一般展现,请到原文参考。
数组
建立数组
- 数组字面量 var a = [1, 2, 3];
- 运用组织函数 var a = new Array();
数组本质上是object(type of [ ] == ‘object’);
所以要推断是不是是数组,须要经由过程推断constructor。
[].constructor//Array
数组长度
运用length属性猎取元素的个数。
数组的length属性是可写的。当length属性小于元素个数时,数组中索引值大于length属性的元素会被删掉。
数组元素的增添和删除
-
push
从数组尾部增添 -
unshift
从数组头部增添 -
pop
从尾部弹出 -
shift
从头部弹出
数组要领
-
join
将数组中所有元素转换成字符串并衔接在一起 -
reverse
将数组中成员倒置排序 -
sort
将数组元素排序,能够指定一个排序函数 -
contact
将数组衔接起来 -
slice
返回指定数组的一个片断或子数组 splice
从数组中插进去或删除元素var a = [1, 2, 3, 4];
var b = a.splice(1,2);//a = 1,4,b = 2,3
ECMAScript 5中的数组新要领
-
forEach
从头至尾遍历数组,为每一个元素挪用制订的函数 map
把数组的每一个元素传给指定的函数,并返回一个数组。var a = [1, 2, 3];
var b = a.map(function(x) {
return x*x;
}); //b = [1,4,9]filter
把数组的每一个元素传给指定的函数,经由过程函数返回的布尔值决议是不是在返回数组中增添该元素var a = [1, 2, 3];
var b = a.filter(function(x){
return x % 2 !== 0;
});//b = [1, 3]every
把数组的每一个元素传给指定的函数,假如悉数挪用返回true则every函数返回true-
some
把数组的每一个元素传给指定的函数,假如有挪用返回true则every函数返回true reduce
用指定的函数对数组举行组合,天生单个值var a = [1, 2, 3];
var b = a.reduce(function(x, y){
return x + y;
}, 0); //b = 6;indexOf/lastIndexOf
在全部数组中搜刮制订的元素
类数组对象
经由过程为对象增添length自增的特征或许其他特征,能够天生一个‘类数组对象’,能够经由过程length举行遍历。比方函数的Arguments对象就是如许