哈哈 无聊瞎写的
1.冒泡排序
let arr= [4,3, 5, 6., 9,1, 78,15,456,8887,15,677,45,10,10000]
for(let i=0; i<arr.length - 1; i++){
for(let l = i; l<arr.length; l++){
if(arr[i]<arr[l]){
[arr[i],arr[l]] = [arr[l],arr[i]]
}
}
}
console.log(arr) // (15) => [10000, 8887, 677, 456, 78, 45, 15, 15, 10, 9, 6, 5, 4, 3, 1]
2.去重
let arr = [1,2,6,1,3,2,6,5]
console.log([...new Set(arr)]) // (5) => [1, 2, 6, 3, 5]
3.递归排序
let arr= [4,3, 5, 6., 9,1, 78,15,456,8887,15,677,45,10,10000]
function sortArr (arr){
if(arr.length <= 1){
return arr
}
let Index = arr.splice(0,1);
// 或者
var pivotIndex = Math.floor(arr.length / 2);
var Index = arr.splice(pivotIndex, 1)[0];
let left = []
let right = []
for(let i=0; i<arr.length; i++){
if(arr[i] <= Index){
left.push(arr[i])
}else{
right.push(arr[i])
}
}
// console.log(left)
return sortArr(left).concat(Index,sortArr(right))
}
console.log(sortArr (arr))
4.最大值和最小值
let arr= [4,3, 5, 6., 9,1, 78,15,456,8887,15,677,45,10,10000,10,458]
var Max = arr[0]
var Min = arr[0]
for(let i=0; i< arr.length; i++){
if(Max < arr[i]){
Max = arr[i]
}
if(Min > arr[i]){
Min = arr[i]
}
}
console.log(Max,Min)
5.数组去重,并统计各自出现的次数
let arr= [1,2,1,5,1,5,1,55,1,25,2,216,61,66,15,61,62,25,26]
let arrSort = []
let arrJson = {}
for(let i=0; i<arr.length; i++){
if(arrSort.indexOf(arr[i]) != -1){
arrJson[arr[i]] = arrJson[arr[i]] + 1
}else{
arrSort.push(arr[i])
arrJson[arr[i]] = 1
}
}
console.log(arrSort) // (11) => [1, 2, 5, 55, 25, 216, 61, 66, 15, 62, 26]
console.log(arrJson) // {1: 5, 2: 2, 5: 2, 15: 1, 25: 2, 26: 1, 55: 1, 61: 2, 62: 1, 66: 1, 216: 1}