面試遇到了這樣一個問題,由於自己對sort還不是特別瞭解,又是筆試,無法在線調試。回家後瞭解了一下,竟然5分鐘就寫出來了。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
var arr = [1,4,2,8,3,5,10,9,7,6,41,58];
// 排序,奇數在前,偶數在後,從小到大升序排列
var r = arr.sort((a,b)=>{
// 如果是a是偶數,b是奇數
if(a%2 === 0 && b%2 !== 0){
return 1;
}
// 如果是a是奇數,b是偶數
if(a%2 !== 0 && b%2 === 0){
return -1;
}
// 如果是a,b都是偶數或者奇數
if((a%2 === 0 && b%2 === 0) || (a%2 !== 0 && b%2 !== 0)){
return a - b;
}
})
console.log(r)
</script>
</body>
</html>