原文: http://pij.robinqu.me/JavaScript_Core/JavaScript_Basics/Array.htmlhtml
数组本质上是object(type of [ ] == 'object');github
因此要判断是否是数组,须要经过判断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,3code
forEach
从头至尾遍历数组,为每一个元素调用制定的函数map
把数组的每一个元素传给指定的函数,并返回一个数组。htm
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函数返回truereduce
用指定的函数对数组进行组合,生成单个值
var a = [1, 2, 3];
var b = a.reduce(function(x, y){
return x + y;
}, 0); //b = 6;
indexOf/lastIndexOf
在整个数组中搜索制定的元素
经过为对象增长length自增的特性或者其余特性,能够生成一个‘类数组对象’,能够经过length进行遍历。例如函数的Arguments对象就是这样