美文网首页
JS代码题3

JS代码题3

作者: twentyshaw | 来源:发表于2019-11-12 20:59 被阅读0次

最大差值

给定一个未排序的数列,找到此数列在已排序状态下的两个相邻值的最大差值,少于两个值时返回0。例如:给定数列 [1,3,2,0,1,6,8] 则 最大差值为3。

function differ(arr){
    if (arr.length<2) return 0
    arr.sort(function(a,b){
        return a-b
    })
    var maxDiffer = 0
    for (var i = 0; i < arr.length-1; i++) {
        if (arr[i+1] - arr[i] > maxDiffer) {
            maxDiffer = arr[i+1] - arr[i]
        }
    }
    return maxDiffer
}

用到了数组方法sort(),复习一下:
arr.sort()

  • 该操作将arr排序后返回。原数组改变,返回的是排序后的数组。
  • 可以接受一个函数作为参数,不传参的情况下将元素转换为字符串,然后比较它们的UTF-16代码单元值序列
  • 传入一个函数的情况下:按照该函数指定的方法对arr进行排序。
    函数接受两个参数:a,b
    如果函数的返回值小于0,那么a排在b的前面,
    如果函数的返回值等于0,那么a,b保持不动
    *如果函数的返回值大于0,那么a排在b的后面

相关文章

  • JS代码题3

    最大差值 给定一个未排序的数列,找到此数列在已排序状态下的两个相邻值的最大差值,少于两个值时返回0。例如:给定数列...

  • js代码题

    js对象的深度克隆 js数组去重 js常用设计模式的实现思路,单例,工厂,代理,装饰,观察者模式等

  • JS代码题5

    实现一个简单的虚拟 DOM 渲染 实现render函数: 主要用到了DOM API 和递归

  • JS代码题6

    字符串查找 请使用最基本的遍历来实现判断字符串 a 是否被包含在字符串 b 中,并返回第一次出现的位置(找不到返回...

  • JS代码题11

    统计一个字符串出现最多的字母 给出一段英文连续的英文字符窜,找出重复出现次数最多的字母 代码如下:

  • JS代码题14

    实现类似getElementsByClassName 的功能 自己实现一个函数,查找某个DOM节点下面的包含某个c...

  • JS代码题13

    随机生成指定长度的字符串 实现一个算法,随机生成指制定长度的字符串。 实现: base是手写的,有什么好的生成方法吗?

  • JS代码题4

    实现一个简单的模板引擎 实现render函数: 这道题的主要考察正则的有关知识: 圆括号 test()方法 exe...

  • JS代码题8

    数据结构处理 有一个祖先树状 json 对象,当一个人有一个儿子的时候,child 为对象,如果有多个儿子,chi...

  • JS代码题16

    给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。 说...

网友评论

      本文标题:JS代码题3

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