操做數組的方法包括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(以上所訴若有問題,歡迎指出,謝謝);字符串