(9)javascript 引用类型 Array类型
1创建数组的基本方式有2种
1.1 构造函数
var temp = new Array();
var temp = new Array(20);
var temp = new Array("1","2","3");
1.2 省略new操作符
var colors = ["1","2","3"];
var name = [];空数组
var values = [1,2,];最好不要这样,会创建一个包括2或者3项的数组
var options = [,,,,];//xxx 同上
2 检测数组
if(value instanceof Array){
//do something
}
3 转换方法 toString() toLocaleString() valueOf()
var colors = ["white","blue","red"];
alert(colors.toString());//white,blue,red
alert(colors.valueof());//white,blue,red
alert(colors);//white,blue,red
4 栈方法
push()、 pop()//var colors = ["white","red"];
push(),从数组末尾添加一个参数,返回数组的长度 :colors.push("blue");//3
pop(),从数组的末尾移除一个参数,返回该项 colors.pop();//"red"
5 队列方法
FIFO(先进先出)、 LIFO(后进先出)
shift() 对比push() 、unshift()
shift(),从数组头部第一个参数,并返回该项 colors.shift();//"red"
unshift() 从数组头部添加一个参数,并返回长度colors.unshift("blue");//3
6 重排序
reverse();sort();
7 操作方法
concat() 合并数组
slice(begin,end) 不包括end,不会影响原始数组
splice(begin,len,item,item) 从begin开始截取长度为len的数组,添加item
8 位置方法
indexOf() 从头开始 lastIndexOf()从尾部开始,都可接受2个参数,第一个参数是要查找的项,第一个是查找起点的位置的索引。找不到就返回-1
9 迭代方法
every():对数组种每一项运行给定的函数,如果该函数对每一项都返回true,则返回true
filter():对数组中的每一项运行给定的函数,返回该函数会返回true组成的数组
forEach():对数组中的每一项运行给定函数,没有返回值
map():对数组种的每一项运行给定函数,返回每次函数调用的结果组成的数组
some():对数组中的每一项运行给定函数,如果该函数任一项返回true,则返回true
var colors = [3,4,6,2];
var result = colors.every(function(item,index,array){
return item>2;如果全部大于2,则返回true
});
var result = colors.filter(function(item,index,array){
return item>2;//选取大于2的参数组合的数组
});
var result = colors.forEach(function(item,index,array){
//无返回,遍历数组,执行某种算法
});
var result = colors.map(function(){});
var result = colors.some(function(item,index,array){
return item>2;//如果有一项满足条件,则返回true
});