js 常用方法

  • 冒泡排序
// 冒泡排序
function bubbleSort(arr){
    for(var i=0;iarr[j+1]){
                var tmp=arr[j]
                arr[j]=arr[j+1]
                arr[j+1]=tmp
            }
        }
    }
}
var arr=[3,2,5,1,4]
bubbleSort(arr)
console.log(arr)
  • 选择排序
// 选择排序
function selectSort(arr){
    for(var i=0;iarr[j]){
                minIndex=j
            }
        }

        if(i!==minIndex){
            var tmp=arr[i]
            arr[i]=arr[minIndex]
            arr[minIndex]=tmp
        }
    }
}
var arr=[3,2,5,1,4]
selectSort(arr)
console.log(arr)
  • 插入排序
function insertSort(arr){
    for(var i=1;i0){
            if(tmp
  • 快速排序
function quickSort(arr){
    function innerQuickSort(innerArr){
        if(innerArr.length<=1)return innerArr
        
        var left=[]
        var right=[]
        var base=innerArr[0]

        for(var i=1;i
  • 扁平数组转树结构
let arr = [
    {id: 1, name: '部门1', pid: 0},
    {id: 2, name: '部门2', pid: 1},
    {id: 3, name: '部门3', pid: 1},
    {id: 4, name: '部门4', pid: 2},
    {id: 5, name: '部门5', pid: 4},
]
function tree(pid,arr){
    return arr.filter(item=>item.pid===pid).map(item=>({...item,children:tree(item.id,arr)}))
}

你可能感兴趣的:(js 常用方法)