1、用 array.length 也能够移除数组后面的项:数组
var colors = ['red', 'blue', 'green'];函数
colors.length = 2;spa
console.log(colors[2]); //undefined对象
2、若是将其length属性设置大于数组项数的值,则新增的每一项都会取得 undefined 值:排序
var colors = ['red', 'blue', 'green'];索引
colors.length = 4;队列
console.log(colors[3]); //undefinedci
3、肯定某个值是否是数组:it
if(Array.isArray(value)){io
//对数组执行操做
}
4、instanceof 运算符返回一个boolean值,表示指定对象是否为某个构造函数的实例。
5、栈方法push() 返回 数组的新长度
var colors = ['red', 'blue', 'green'];
var count = colors.push('pink');
console.log(count); //4
6、栈方法pop() 返回数组中最后一项。
var colors = ['red', 'blue', 'green'];
var item= colors.pop();
console.log(item); // 'green'
console.log(colors .length); //2
7、队列方法 shift() 移除数组中第一项,并返回该项,同时将数组长度减 1。
8、队列方法 unshift() 在数组前添加任意个项并返回数组新长度。
9、重排序方法
reverse(); 将数组反转,返回值是通过排序后的数组
sort(); 接受一个比较函数做为参数,返回值是通过排序后的数组
====升序排列
var values = [0,1,5,10,15];
function compare(value1, value2){
if(value1 < value2) {
return -1;
} else if(value1 > value2) {
return 1;
} else {
return 0;
}
}
values.sort(compare);
alert(values); // 0,1,5,10,15
=====降序排列
function compare(value1, value2){
if(value1 < value2) {
return 1;
} else if(value1 > value2) {
return -1;
} else {
return 0;
}
}
values.sort(compare);
alert(values); // 15,10,5,1,0
10、操做方法 concat() 这个方法将建立当前数组的一个副本,而后后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组;
var colors = ['red','green'];
var colors1 = colors.concat();
var colors2 = colors.concat('blue',['pink','black']);
console.log(colors); // ['red','green']
alert(colors1); // red,green
console.log(colors2); // ['red','green','blue','pink','black']
11、操做方法 slice() 方法,基于当前数组中的一或多个项建立一个新数组。slice() 方法能够接受一个或两个参数。该方法不影响原数组。
Var colors = ['red','green','blue','pink','black'];
Colors.slice(1) ; // ['green','blue','pink','black'];
Colors.slice(1,4); // ['green','blue','pink'];
参数 |
结果 |
一个 |
返回从该参数指定位置开始到当前数组末尾的全部项 |
两个 |
返回起始和结束之间的项(但不包括结束位置的项) |
有负数 |
用数组的长度加上该数来肯定相应的位置,如 slice(-2,-1) =>slice(3,4) |
结束位置小于起始位置 |
返回空数组 |
12、操做方法 splice 主要用途是向数组的中部插入项。该方法始终都会返回一个数组,该数组中包含从原始数组中删除的项(若是没有删除的项,则返回空数组),而且改变原数组 。
splice(起始位置,要删除的项,替换的项,替换的项,。。。)
13、 位置方法 ,indexOf() 和 lastIndexOf() ,都接受两个参数:要查找的项和(可选的)表示查找起点位置的索引。都返回要查找的项在数组中的位置,或者没找到的状况下返回 -1 。
indexOf() 从数组的开头向后查找
lastIndexOf() 从数组的末尾向前查找
在比较第一个参数与数组中的每一项时,会使用全等操做符;也就是说,要求查的项必须严格相等(就像使用 === 同样)。
var person = {name: 'Mary'};
var people = [{name: 'Mary'}];
var morePeople = [person];
alert(people.indexOf(person)); //-1
alert(morePeople.indexOf(person)); //0
14、迭代方法:
every() 传入函数,数组中的而每一项返回true,则返回true
some()传入函数, 数组中有一项项返回true,则返回true
map() 传入函数,返回每一项执行后的结果组成的数组
filter() 传入函数,返回 执行为true 的项组成的数组
forEach() 传入函数,每一项执行函数操做,没有返回值