"2019-05-12 描述 如果数组按照升序进行排列的话返回 1, 如果降序的话返回 -1 否则的话返回 0。 提示 使用前两个元素来判断排序的 direction 使用 Object.entries() 循环迭代数组对象,并对他们进行两两对比 如果 direction 发生变化的话返回 0 如果到达最后一个元素的话则 .."

Array - isSorted

2019-05-12

描述

如果数组按照升序进行排列的话返回 1, 如果降序的话返回 -1 否则的话返回 0

提示

代码

const isSorted = arr => {
  let direction = -(arr[0] - arr[1]);
  for (let [i, val] of arr.entries()) {
    direction = !direction ? -(arr[i - 1] - arr[i]) : direction;
    if (i === arr.length - 1) return !direction ? 0 : direction;
    else if ((val - arr[i + 1]) * direction > 0) return 0;
  }
};

示例

检测数组的排序规则:

isSorted([0, 1, 2, 2]); // 1
isSorted([4, 3, 2]); // -1
isSorted([4, 3, 5]); // 0

返回总目录

每天 30 秒系列之 JavaScript 代码

  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    374 引用 • 983 回帖 • 993 关注
  • 30Seconds

    精选的常见前端问题集,帮助您踏踏实实走好每一步。

    英文原文请看 30-seconds

    167 引用 • 204 回帖 • 3 关注
  • 代码
    148 引用 • 433 回帖 • 1 关注
感谢    关注    收藏    赞同    反对    举报    分享
回帖    
请输入回帖内容...