1. 程式人生 > >數組操作

數組操作

去重 排序 pre sco als ack cal code span

一、push從尾部添加

1       var arr1=[1,2,3,4,5,6];
2       arr1.push(7);
3       alert(arr1)  //1,2,3,4,5,6,7

二、pop從尾部刪除

1       var arr2=[1,2,3,4,5,6];
2       arr2.pop();
3       alert(arr2)  //1,2,3,4,5

三、shift從頭部刪除

1        var arr3=[1,2,3,4,5,6];
2        arr3.shift()
3        alert(arr3);  //2,3,4,5,6

四、unshift從頭部添加

1         var arr4=[1,2,3,4,5,6];
2         arr4.unshift(‘a‘);
3         alert(arr4);  //a,1,2,3,4,5,6

五、splice(開始位置,刪除個數,添加值1,添加值2,......)

刪除

1         var arr5=[1,2,3,4,5,6];
2         arr5.splice(1,2);
3         alert(arr5);  //1,4,5,6

插入

1         var arr6=[1,2,3,4,5,6];
2         arr6.splice(1,0,‘a‘,‘b‘);
3 alert(arr6); //1,a,b,2,3,4,5,6

替換

1         var arr7=[1,2,3,4,5,6];
2         arr7.splice(1,2,‘a‘,‘b‘,‘c‘);
3         alert(arr7);  //1,a,b,c,4,5,6

六、join & split

join:將arr轉換成string格式

1         var arr8=[1,2,3];
2         alert(arr8.join(‘-‘));  //1-2-3(string)

split:將string轉換成arr格式

1
var str1=‘1-2-3-4‘; 2 alert(str1.split(‘-‘)); //1,2,3,4(arr)

七、slice(開始位置,結束位置+1):取子數組

1         var arr9=[1,2,3,4,5,6];
2         alert(arr9.slice(1,3));  //2,3

八、sort:排序

瑕疵版本:

1         var arr10=[2,3,1,5,8,20]
2         alert(arr10.sort())  //1,2,20,3,5,8

原理版本:

1         alert(arr10.sort(function (num1,num2) {
2             if(num1<num2){
3                 return -1;
4             }else if(num1>num2){
5                 return 1;
6             }else {
7                 return 0;
8             }
9         }));  //1,2,3,5,8,20

簡潔版本:

1         alert(arr10.sort(function (num1,num2) {
2             return num1-num2;
3         }));  //1,2,3,5,8,20

拼音排序:

1         var arr11=[‘小二‘,‘張三‘,‘李四‘,‘王五‘,‘阿六‘];
2         alert(arr11.sort(function (str1,str2) {
3             return str1.localeCompare(str2);
4         }))  //阿六,李四,王五,小二,張三

九、reverse:反轉數組

1         var arr12=[1,2,3,4,5,6];
2         alert(arr12.reverse());  //6,5,4,3,2,1

十、concat:

數組連接

1         var arr13=[1,2,3,4,5,6];
2         var arr14=[8,9];
3         alert(arr13.concat(arr14));  //1,2,3,4,5,6,8,9
數組復制
 1        //arr14的值不會改變
 2         var arr14=[1,2,3]
 3         var arr15=arr14.concat([]);   //先將arr14復制了一份,再進行操作
 4         arr15.push(4)                       
 5         alert(arr14);  //1,2,3
 6 
 7 
 8        //arr16的值會改變
 9         var arr16=[1,2,3]
10         var arr17=arr16
11         arr17.push(4)                       
12         alert(arr16);  //1,2,3,4

十一、數組去重實例

 1     <script>
 2         function hasContain(arr,num) {
 3             for(var i=0;i<arr.length;i++){
 4                 if(arr[i]==num){
 5                     return true;
 6                 }
 7             }
 8             return false;
 9         }
10 
11         var arr=[1,2,3,4,5,2,3,8,4];
12         var newArr=[];
13 
14         for(var i=0;i<arr.length;i++){
15             if(!hasContain(newArr,arr[i])){
16                 newArr.push(arr[i])
17             }
18         }
19         alert(newArr);  //1,2,3,4,5,8
20     </script>

數組操作