美文网首页
js 常用方法

js 常用方法

作者: 夏晶晶绿 | 来源:发表于2021-04-08 17:16 被阅读0次
  • 冒泡排序
// 冒泡排序
function bubbleSort(arr){
    for(var i=0;i<arr.length;i++){
        for(var j=0;j<arr.length-i-1;j++){
            if(arr[j]>arr[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;i<arr.length;i++){
        var minIndex=i
        for(var j=i;j<arr.length;j++){
            if(arr[minIndex]>arr[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;i<arr.length;i++){
        var j=i
        var tmp=arr[j]
        while(j>0){
            if(tmp<arr[j-1]){
                arr[j]=arr[j-1]
            }else{
                break
            }
            j--
        }
        arr[j]=tmp
        
    }
}
var arr=[3,2,5,1,4]
insertSort(arr)
console.log(arr)
  • 快速排序
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<innerArr.length;i++){
            if(innerArr[i]<base){
                left.push(innerArr[i])
            }else{
                right.push(innerArr[i])
            }
        }

        var newLeft=innerQuickSort(left)
        var newRight=innerQuickSort(right)

        return [...newLeft,base,...newRight]


    }

    return innerQuickSort(arr)

}
var arr=[3,2,5,1,4]
console.log(quickSort(arr))
  • 扁平数组转树结构
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)}))
}

相关文章

  • JavaScript数组常用方法

    目录 JS 数组常用API常用属性常用方法常见方法语法解释from方法isArrayconcateveryfill...

  • js基础了解

    js数组常用遍历方法使用: js数组常用操作方法使用: 基本逻辑运算: 基本字符串操作方法:

  • vue axios cdn 封装

    1.config.js 常用域名封装: 2.utils.js 常用的方法封装: 3.api.js axios接口...

  • 2016-08-05学习笔记

    JS简介 循环 方法一:if goto 常用 方法二:while 常用 方法三:for 常用 同一个变量不能申明...

  • JsUtil

    一些常用的JS方法

  • js 常用方法总结

    字符串的常用属性,概览 Array对象的方法; 详细js数组常用方法大全

  • 小程序-常用utils

    小程序-常用utils,整理常用的小程序js工具方法 剔除回车键 utils.js const delEnter ...

  • 日期格式化等方法

    日期格式化和其他常用方法插件 src/assets/js/dateFilter.js 使用方法 直接在js中调用方...

  • moment用法

    moment.js常用方法 安装依赖 原文地址

  • Recent Problems

    document.createElement创建的元素有哪些属性和方法。其他常用JS原生DOM方法。 Vue.js...

网友评论

      本文标题:js 常用方法

      本文链接:https://www.haomeiwen.com/subject/nikvkltx.html