JS陣列排序-面試經常遇到的問題
阿新 • • 發佈:2019-02-20
var <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>面試題之陣列排序</title>
</head>
<body>
對下面的陣列進行排序
arr = [3,1,10,2,9,5,100]
<a href="javascript:;" onclick="fun1()">方法一:sort排序,系統自帶方法</a><br/>
<a href="javascript:;" onclick="fun2()">方法二:氣泡排序,原理:利用二次迴圈,依次將最大的放在後面</a><br/>
<div class="fun1_result"></div>
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript">
var arr = [3,1,10,2,9,5,100];
var sorting = {
systemSort : function(arr){
return arr.sort(function(a,b){
return a-b;
})
},
popSort : function(arr){
var len = arr.length,tmp;
for(var i = 0 ;i < len-1 ; i ++){
for(var j = 0; j< len - 1 - i ; j++){
if(arr[j] > arr[j+1]){
tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
return arr;
}
}
fun1 = function(){
$(".fun1_result").html(sorting.systemSort(arr));
}
fun2 = function(){
$(".fun1_result").html(sorting.popSort(arr));
}
</script>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>面試題之陣列排序</title>
</head>
<body>
對下面的陣列進行排序
arr = [3,1,10,2,9,5,100]
<a href="javascript:;" onclick="fun1()">方法一:sort排序,系統自帶方法</a><br/>
<a href="javascript:;" onclick="fun2()">方法二:氣泡排序,原理:利用二次迴圈,依次將最大的放在後面</a><br/>
<div class="fun1_result"></div>
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript">
var arr = [3,1,10,2,9,5,100];
var sorting = {
systemSort : function(arr){
return arr.sort(function(a,b){
return a-b;
})
},
popSort : function(arr){
var len = arr.length,tmp;
for(var i = 0 ;i < len-1 ; i ++){
for(var j = 0; j< len - 1 - i ; j++){
if(arr[j] > arr[j+1]){
tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
return arr;
}
}
fun1 = function(){
$(".fun1_result").html(sorting.systemSort(arr));
}
fun2 = function(){
$(".fun1_result").html(sorting.popSort(arr));
}
</script>
</body>
</html>