起始位置都是从数组下标0开始的
1.栈方法
push/pop
2.队列方法
unshift/shift
var array = new Array('00');
console.log(array.push('11','22','33','44'));
console.log(array);
console.log(array.pop());
var arr = new Array('00');
console.log(arr.unshift('11','22','33','44'));
console.log(arr);
console.log(arr.shift());
3.重排序
sort/reserve
这个比较函数适用于大多数数据类型
function compare(v1,v2){
if(v1 > v2){
return -1;
}else if(v1 < v2){
return 1;
}else{
return 0;
}
}
对于数值类型的比较,可以如下写:
function compare1(v1,v2){
return v1 - v2;
}
var arr = [12,21,1111,4];
arr.sort(compare);
console.log(arr);//[4, 12, 21, 1111]
4.操作方法
concat
slice
splice
看如下实例你就明白了:
var arr1 = new Array('00');
console.log(arr1.unshift('11','22','33','44'));
console.log(arr1);
//slice(起始位置,结束位置)创建一个从起始位置(包括起始位置)到结束位置(不包括结束位置)的新数组,如果参数中有一个为负数,则将负数+arr.length再重新计算,如果起始位置大于结束位置,则新数组为空
var a = arr1.slice(1,-1);
console.log(a);//["22", "33", "44"]
//splice(起始位置,要删除的个数,替换或加入的项)最强大的数组方法,可以实现插入删除替换功能。
var b = arr1.splice(2,1,'2222222222222222222');
console.log(b);
console.log(arr1);
//concat([数组或非数组]),连接到数组后面
var arr2 = new Array('00');
console.log(arr2.unshift('11','22','33','44'));
console.log(arr2);
var a = arr2.concat('12',['122'],{0:1});
console.log(a);
5.位置方法
indexOf/lastIndexOf
indexOf(要查找的项,[起始位置])从前向后查找,返回找到的第一项的索性值
lastIndexOf(要查找的项,[起始位置])从后向前查找,返回找到的第一项的索性值
6.迭代方法
every() some() filter() map() forEach()
var arr = [12,21,1111,21,9,4];
var result_every = arr.every(function(item, index, array){
if(item > 10){
return true;
}
});
var result_some = arr.some(function(item, index, array){
if(item > 10){
return true;
}
});
var result_filter = arr.filter(function(item, index, array){
if(item > 10){
return true;
}
});
var result_map = arr.map(function(item, index, array){
return item * 2;
});
var result_forEach = arr.forEach(function(item, index, array){
//操作
});
console.log(result_every);//false
console.log(result_some);//true
console.log(result_filter);//[12, 21, 1111, 21]
console.log(result_map);//[24, 42, 2222, 42, 18, 8]
只有forEach没有返回值,和普通循环一样
7.归并方法
reduce(从前向后) reduceRight(从后向前)遍历数组
//其中prev始终是返回的那个值、cur是当前值
var arr = [1,2,3,4,5];
var sum = arr.reduce(function(prev, cur, index, array){
return prev + cur;
});
console.log(sum);//15
Array学好了吗?yeah~~~很有成就感