当前位置:  开发笔记 > 编程语言 > 正文

检查Javascript数组值是否为连续且不相等

如何解决《检查Javascript数组值是否为连续且不相等》经验,为你挑选了1个好方法。

我读过这个,但它不适用(和/或,我无法弄清楚如何调整解决方案).我也找到了这个,但我不想改变数组 - 我只想查看信息.我无法调整解决方案以满足我的需求.

我想找出Javascript数组中的值是顺序的.

例如 - 我有一组UNIX时间戳

var ts = [1451772000, 1451858400, 1452031200]

true如果它们是顺序的(从低到高的值)并且false它们不是顺序的,我想返回.false如果有重复值,我还想返回.



1> thefourtheye..:

你可以Array.prototype.every像这样使用

var data = [1451772000, 1451858400, 1452031200];
console.log(data.every((num, i) => i === data.length - 1 || num < data[i + 1]));

这可以用正常函数编写,就像这样

console.log(data.every(function(num, index) {
  return index === data.length - 1 || num < data[index + 1];
}));

这里基本上只有两个条件需要注意

    如果我们到达最后一个索引,那么所有元素都是好的.

    如果它不是最后一个元素,那么当前数字应该严格小于下一个元素.

该表达式处理上述两个条件.

i === data.length - 1 || num < data[i + 1]

every函数使用三个参数调用传递给它的函数,用于数组的每个值.

    当前元素,

    目前的指数

    实际的数组

它将继续调用函数,直到数组元素用完或对函数的任何调用返回一个假值.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有