1.创建数组 :
(1). var ary = new Array();
(2). var ary = [];
2.检测数据:
var value = new Array()
(1). if(value instanceof Array){//对数组进行操作}
(2). if(Array.isArray(value)) {//对数组进行操作}
3.数组转换:
var value = new Array("red","green","blue");
alert(value.toString());
alert(value.valueOf());
alert(value.join("||")); //red||green||blue
4.栈方法:
var colors = new Array();
var count = colors.push("red","green"); //推入两项 count = 2
count.push("blue"); //推入另一项 count = 3
var item = colors.pop();//取最后一项 item = "blue" colors.length = 2;
var first = colors.shift(); //取第一项 first= "red" colors.length = 1;
5.重排序:
(1).reverse方法:
var values = [1,2,3,4,5];
alert(values.reverse()); // 5,4,3,2,1
(2)sort:
var values = [0,1,5,10,15];
values.sort();
alert(values); // 0 ,1,10,15,5
默认情况下,sort() 方法按照升序排列数组项---即最小值在最前面,最大值在最后面。为了实现排序,sort()方法会调用每个数组项的toString()方法,然后比较得到的字符串,来确定如何排序。即使数组中每一项都是数值,sort()方法比较的也是字符串。虽然数值5小于10,但是字符串比较时,"10"则位于"5"的前面,于是数组顺序被改变了。
(3). compare
function compare(value1,value2){
if(value1 < value2){ return -1 ;}
else if(value1 > value2){ return 1 ;}
else{ return 0 ;}
}
var values = new Array(0,1,5,10,15);
values.sort(compare);
alert(values); // 0,1,5,10,15
6.数组操作:
(1). concat()
基于当前的数组中的所有项创建一个新的数组。这个方法会先创建当前数组的一个副本,然后把接收到的参数添加的副本的末尾,最后返回心构建的数组。
var colors = ["red","green"];
var colors2 = colors.concat("yellow",["black","blue"]);
alert(colors)//red,green
alert(colors2);//red,green,yellow,black,blue
(2).splice()
删除:可以删除任意数量的项目,只需制定两个参数 第一个参数是要删除第一项的位置,第二个参数是要删除的项数。
splice(0,2)会删除数组中前两项
插入:splice(2,0,"red","blue") 从第二项开始插入"red"和"blue"
替换:splice(2,1,"red","blue") 先删除第二项,再从第二项插入"red" 和"blue"
7.迭代:
var numner = [1,2,3,4,5,4,3,2,1];
(1).every()对数组中每一项运行给定函数,如果该函数每一项都返回true,则返回true;
var eneyrResult = number.every(function(item,index,array)){
return (item>2);
});
(2).filter()对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组
var filterResult = number.filter(function(item,index,array)){
return (item>2);
});
alert(filterResult);//3,4,5,4,3
(3).forEach()对数组中每一项运行给定函数,没有返回值
(4).map()对数组中每一项运行给定函数,返回每次函数调用的结果组成的数组
var mapResult = number.filter(function(item,index,array)){
return item*2;
});
alert(mapResult);//[2,4,6,8,10,8,6,4,2]
(5).some()对数组中每一项运行给定函数,如果该函数任意一项都返回true,则返回true;
8.缩小方法:
reduce()和redeceRight()的函数接收四个参数:前一个值,当前值,项的索引和数组对象,这个函数的返回的任何值都会作为第一个参数传给下一项,
第一次迭代发生在数组的第二项上,因此第一个参数数数组的第一项,第二个参数是数组的第二项。
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array){
return prev + cur;
});
alert(sum);//15