1、用 array.length 也可以移除数组后面的项:
var colors = ['red', 'blue', 'green'];
colors.length = 2;
console.log(colors[2]); //undefined
2、如果将其length属性设置大于数组项数的值,则新增的每一项都会取得 undefined 值:
var colors = ['red', 'blue', 'green'];
colors.length = 4;
console.log(colors[3]); //undefined
3、确定某个值是不是数组:
if(Array.isArray(value)){
//对数组执行操作
}
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() 传入函数,每一项执行函数操作,没有返回值