JS数组冒泡排序&去重】的更多相关文章

冒泡排序: var a = [2,1,4,3,6,5]; for(var d = 0 ; d< a.length; d++){ for(var b = d+1; b < a.length; b++){ if (a [d] > a [b] ); var c = a [d]; a [d] = a [b]; a [b] = c ; } } for(var e in a){ document.write(a [e] ); } 数组去重: var arr = [9,9,1, 1, 2, 2, 3,…
文章地址 https://www.cnblogs.com/sandraryan/ js数组的冒泡排序是最经典的一种排序方式(我以为). 冒泡排序是吧一组数组的元素两两比较,交换位置,通过多轮比较,实现从大到小或者从小到大的排序. var arr = [1,0,5,6,3,9,22,49,20,11,78,9]; // 创建一个新数组 for(var i = 0; i <= arr.length-1; i++){ // 外层循环控制比较几轮 for(var j = 0; j <= arr.len…
Array.prototype.unique1 = function() { var n = []; //一个新的临时数组 for(var i = 0; i < this.length; i++) //遍历当前数组 { //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (n.indexOf(this[i]) == -1) n.push(this[i]); } return n; } Array.prototype.unique2 = funct…
冒泡排序: 随便从数组中拿一位数和后一位比较,如果是想从小到大排序,那么就把小的那一位放到前面,大的放在后面,简单来说就是交换它们的位置,如此反复的交换位置就可以得到排序的效果. var arr = [3,1,4,2,5,21,6,15,63]; function sortA(arr){ for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ //获取第一个值和后一个值比较 var cur = arr[i]; if(c…
简单的数组去重是比较简单的,方法也特别多,如给下面的数组去重: let arr = [1,2,2,4,9,6,7,5,2,3,5,6,5] 最常用的可以用for循环套for循环,再用splice删除重复的数组: let arrUnique = function (arr){ for(let i=0; i<arr.length; i++){ for(let j=i+1; j<arr.length; j++){ if(arr[i]==arr[j]){ //第一个等同于第二个,splice方法删除第…
在做javascript开发的时候,经常会遇到数组元素重复的问题,而javascript Array又没有直接提供方法解决此问题,还需要自己去实现. 方案一: 思路: 1.构建一个新的数组存放结果: 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比: 3.若结果数组中没有该元素,则存到结果数组中. 代码如下: <script> Array.prototype.unique1=function(){ var res=[this[0]]; for(var i=1;i<…
数组的排序  快速排序 思路: (1)在数据集之中,选择一个元素作为”基准”(pivot). (2)所有小于”基准”的元素,都移到”基准”的左边:所有大于”基准”的元素,都移到”基准”的右边. (3)对”基准”左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止. function quickSort(arr){ if (arr.length <= 1){return arr}; var pivotIndex = Math.floor(arr.length / 2); v…
1.冒泡排序 //第一种 function bubblesort(ary){ for(var i=0;i<ary.length-1;i++){ for(var j=0;j<ary.length-1-i;j++){ if(ary[j] > ary[j+1]) {//如果前面的数据比后面的大就交换 var items = ary[j]; ary[j] = ary[j+1]; ary[j+1] = items; } } } return ary; } var ary=[2,5,4,1,6,3]…
http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 这个方法的思路是先把数组排序,然后比较相邻的两个值. 排序的时候用的JS原生的sort方法,JS引擎内部应该是用的快速排序吧. 最终测试的结果是此方法运行时间平均是第二种方法的三倍左右,不过比第一种和第三种方法快了不少. Array.prototype.unique4 = function() { this.sort(); var re=[this[0]]; for(…
let hash = {}; let config = [ { name: 2, state: true, output: 'Y'}, { name: 3, state: true, output: 'A'}, { name: 5, state: true, output: 'S'}, { name: 7, state: true, output: 'B'} ]; config = [...config, { // 合并数组 ...运算符即为数组展开运算符 name: 3, state: fal…