Javascript数组
定义
定义空数组
var arr = new Array();
var arr = [];
定义一个包含1,2,3的数组
var arr = [1,2,3];
var arr = new Array(1,2,3);
插入
push():数组的末尾加入值
//往数组中插入1,2,3,4,5,6 var arr = new Array(); for(var i = 1;i<7;i++){ arr.push(i); } console.log(arr); //[1,2,3,4,5,6]
unshift(elem1,elem2,elem3):数组的开头添加数据
//向数组[1,2,3]开头添加添加7,8 var arr = [1,2,3]; arr.unshift(4,5); console.log(arr); //[4,5,1,2,3]
splice(index,num,elem1,elem2,elem3....):当num为0的时候splice表示在index的位置插入elem1,elem2,elem3....,index下标和数组下标一样,表示在某个数的后面插入。
//向数组[7,8,9]的8后面插入4,5,6 var arr = [7,8,9]; arr.splice(2,0,4,5,6); console.log(arr); // [7, 8, 4, 5, 6, 9]
删除
splice(index,num):从下标index开始删除num个
//删除1后面3个数 var arr = new Array(1,2,3,4,5,6); arr.splice(1,3); console.log(arr); //[1, 5, 6]
pop():删除数组的最后一个值并返回
//删除最后一个数 var arr = new Array(1,2,3,4,5,6); var tmp = arr.pop(); console.log(arr); //[1, 2, 3, 4, 5] console.log(tmp); // 6
shift():删除第一个值并返回
//删除第一个数 var arr = new Array(1,2,3,4,5,6); var tmp = arr.shift(); console.log(arr); //[2, 3, 4, 5, 6] console.log(tmp); // 1
截取
slice(start,[end]):选取[start,end)区间内的数组值,注意end是取不到的,若不写end则默认数组长度
//截取数组[3,4] var arr = new Array(1,2,3,4,5,6); var new_arr = arr.slice(2,4); console.log(arr.slice(2,4)); //[3,4] console.log(new_arr); //[3,4]
合并
arr1.concat(arr2,arr3....):将数组arr1和arr2,arr3...进行合并
//合并数组 var arr1 = new Array(1,2,3); var arr2 = [4,5,6]; var arr3 = [7]; var new_arr = arr1.concat(arr2,arr3); console.log(new_arr); // [1, 2, 3, 4, 5, 6, 7]
数组转化字符串
join(separator):返回由separator分隔的字符攒
//将数组转化为由‘-’分隔的字符串 var arr = [1,2,3,4,5,6]; var str = arr.join('-'); console.log(str); // 1-2-3-4-5-6
排序
sort(func):默认按照字典序从小到大排序,若希望数值/从大到小排序需要些func函数
//默认字典序排序 var arr1 = [45,123,67,89,90]; console.log(arr1.sort());//[123, 45, 67, 89, 90] //按照数值从小到大 var arr2 = [45,123,67,89,90]; function sort_num1(a,b){ return a-b; } console.log(arr2.sort(sort_num1)); // [45, 67, 89, 90, 123] //按照数值从大到小 var arr3 = [45,123,67,89,90]; function sort_num2(a,b){ return b-a; } console.log(arr3.sort(sort_num2)); //[123, 90, 89, 67, 45] //按照字典序从大到小 var arr4 = [45,123,67,89,90]; function sort_num3(a,b){ return String(a)<String(b); } console.log(arr4.sort(sort_num3));//[90, 89, 67, 45, 123]