數組操作
阿新 • • 發佈:2017-10-19
去重 排序 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格式
1var 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>
數組操作