数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示。两端的方括号是数组的标志。
var a=["a","b","c"];
除了在定义时赋值,数组也可以先定义后赋值。
var arr=[];arr[1]="a";arr[2]="b";arr[3]="c";
任何类型的数据都可以放入数组,如果数组的元素还是数组,就形成了多维数组。
var arr=["helloworld",100,["a","b"],false];var a=[[1,2],[3,4]];
length 属性
数组的length属性,返回数组的成员数量。
var arr=["a","b","c"];console.log(arr.length);
数组的遍历
数组的遍历可以使用for循环或while循环。
var arr=["a","b","c"];for(i=0;i<arr.length;i++){console.log(arr[i]);}var i=0;while(i<arr.length){console.log(arr[i]);i++;}
for...in 遍历
var arr=["a","b","c"];for(i in arr){console.log(arr[i]);}
数组的静态方法
Array.isArray 方法返回一个布尔值,表示参数是否为数组。它可以弥补 tpeof运算符的不足
var arr=["a","b","c"];console.log(typeof arr);console.log(Array.isArray(arr));
push/pop 数组方法
push 方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。
注意,该方法会改变原数组
var arr=["a","b","c"];arr.push("d");for(i in arr){console.log(arr[i]);}
pop 方法用于删除数组的最后一个元素,并返回该元素。
注意,该方法会改变原数组。
var arr=["a","b","c"];arr.pop();for(i in arr){console.log(arr[i]);}
shift/unshift 数组方法
shift 方法用于删除数组的第一个元素,并返回该元素。
注意,该方法会改变原数组。
var arr=["a","b","c"];arr.shift();for(i in arr){console.log(arr[i]);}
shift 方法可以遍历并清空一个数组 。
var arr=["a","b","c"];var i;while(i=arr.shift()){console.log(i);}console.log(arr);
unshift方法可以接受多个参数,这些参数都会添加到目标数组头部 。
var arr=["a","b","c"];arr.unshift("i","f");console.log(arr);
join 数组方法
join 方法以指定参数作为分隔符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔。
var arr=["a","b","c"];console.log(arr);console.log(arr.join(" "));console.log(arr.join("|"));console.log(arr.join())
注意:如果数组成员是 undefined 或 null或空位,会被转成空字符串 。
concat 数组方法
concat 方法用于多个数组的合并。它将新数组的成员,添加到原数组成员的后部,然后返回一个新数组,原数组不变。
var arr=["a","b","c"];var arr1=["d","e"];console.log(arr);console.log(arr1); console.log(arr.concat(arr1));
除了数组作为参数, concat 也接受其他类型的值作为参数,添加到目标数组尾部。
var arr=["a","b","c"];console.log(arr);console.log(arr.concat(1,2,3));
reverse 数组方法
reverse 方法用于颠倒排列数组元素,返回改变后的数组。注意,该方法将改变原数组。
var arr=["a","b","c"];console.log(arr.reverse());
indexOf 数组方法
indexOf方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。
var arr=["a","b","c"];console.log(arr.indexOf("a"));console.log(arr.indexOf("d"));
indexof 方法还可以接受第二个参数,表示搜索的开始位置 。
var arr=["a","b","c","a"];console.log(arr.indexOf("a",1));