JS数组操作中的经典算法实例讲解
网络 2017-08-26 1195
冒泡排序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <script type="text/javascript"> var arr = [3,7,6,2,1,5]; 定义一个交换使用的中间变量 var temp = 0; for(i=0;i<arr.length;i++){ for(j=0;j<arr.length;j++){ 如果下一个元素小于当前元素 if(arr[j]>arr[j+1]){ 互换 temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } for(var i in arr){ document.write(arr[i]); } </script> |
数组去重
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <script type="text/javascript"> //老数组 var arr1 = [1,2,2,3,8,6,6,4,5,5]; //定义新数组 var arr2 = []; for(i=0;i<arr1.length;i++){ var status = 0; for(j=0;j<arr2.length;j++){ if(arr1[i]==arr2[j]){ status = 1; break; } } if(status == 0){ arr2.push(arr1[i]); } } for(var x in arr2){ document.write(arr2[x]+"<br>"); } </script> |
数组添加去重
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <script type="text/javascript"> var arr = [3.14,10,4,"hello"]; 新定义数组元素 var tj = "hello"; 布尔型判断 var cf = true; for(var i =0;i<arr.length;i++){ if(tj == arr[i]){ cf = false; break; } } if(cf){ arr.push(tj); for(var i in arr){ document.write(arr[i]+"<br>"); } } else{ alert("有重复值"); } </script> |