操做数组的方法包括slice(),push(),pop(),unshift(),shift(),sort(),reverse(),concat(),jion()等;数组
- slice():截取元素,返回一个新的Array,
var arr=["A","B","C","D","E"];
arr.slice(0,3);返回["A","B","C"];包括开始位置,不包括结束位置,若是不传参数,这是从开头到结尾;
- push();在数组的末尾添加数据
var arr=["A","B"];
arr.push("C");
console.log(arr);
- pop():删除最后一个元素
var arr=["A","B","C","D","E"];
arr.pop();
console.log(arr);
- unshift():在数组的头部添加若干元素
var arr=["A","B","C","D","E"];
arr.unshift("1","2");
console.log(arr);
- shift():第一个元素删除掉
var arr=["A","B","C","D","E"];
arr.shift();
console.log(arr);
-
sort():数组排序,默认把全部的元素转换成string类型在排序
var arr = ['B', 'C', 'A'];
console.log(arr.sort);
若是其中有小写字母呢;
var arr = ['B', 'C', 'a'];
console.log(arr.sort());//['B', 'C', 'a']仍是原来的值,不改变,这是由于sort()排序是按照ASCII码进行排序,大写字母在小写字母以前,因此及出现这个结果;要是想按照字母前后顺序排序,能够先把arr.toUpperCase(),忽略大小写进行排序,
数字之间的排序:var arr=[1,3,10,5,8];
console.log(arr.sort());//[1, 10, 3, 5, 8]
这是由于转换成字符串,“1”比“3”的ASCII码小,因此就排在了前面;
其实咱们能够这样写:一般两数比较,x<y,返回-1;x==y返回0;x>y返回1;
arr.sort(function(x,y){code
if(x<y){
return -1;
}
if(x>y){
return 1;
}
return 0;
})
console.log(arr);//[1, 3, 5, 8, 10];排序
- reverse():把数组的顺序调换个;
var arr=[1,3,10,5,8];
arr.reverse();
console.log(arr);//[8, 5, 30, 10, 3, 1]
- concat():两数组进行合并,返回一个新的数组
var arr=[1,2,3,4];
var arr1=[5,6,7,8,9];
var newArr= arr.concat(arr1);
console.log(newArr);//[1, 2, 3, 4, 5, 6, 7, 8, 9]
- join():将数组按照指定的字符进行串联,造成字符串,返回串联后的数据;
var arr=[1,2,3,4];
var arrJoin=arr.join("_");
console.log(arrJoin);//1_2_3_4(以上所诉若有问题,欢迎指出,谢谢);字符串