JavaScript 冒泡排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 冒泡排序相关的知识,希望对你有一定的参考价值。
常规方法
function sort_bubble(arr) { var temp; for(var i = 0; i < arr.length;i ++) { for(var j = i + 1;j < arr.length;j++) { if (arr[i] > arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; } var result = sort_bubble([1,3,5,2,64,4]); console.log(result);
es6 对象解构赋值实现
function sort_bubble(arr) { for(let x = 0; x < arr.length; x ++) { for (let y = x + 1; y < arr.length; y ++) { [arr[x],arr[y]] = arr[x] > arr[y]?[arr[y],arr[x]]:[arr[x],arr[y]]; } } return arr; } let result = sort_bubble([1,3,2,5,4,7]); console.log(result);
传入两个参(arr,fn),控制升序,降序
function sort_bubble(arr,fn) { let length = arr.length; for(let x = 0; x < length; x ++) { for (let y = x + 1; y < length; y ++) { [arr[x],arr[y]] = fn(arr[x],arr[y])?[arr[y],arr[x]]:[arr[x],arr[y]]; } } return arr; } function ascending(x,y) { return x > y; } function desending(x,y) { return x < y; } let result1 = sort_bubble([1,3,2,5,2,1,1,2,5,4,7],ascending); let result2 = sort_bubble([1,3,2,5,2,1,1,2,5,4,7],desending); console.log(result1); console.log(result2);
以上是关于JavaScript 冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章