数组操作
Posted 喵小娇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组操作相关的知识,希望对你有一定的参考价值。
一、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>
以上是关于数组操作的主要内容,如果未能解决你的问题,请参考以下文章
错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”