gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:11 24 4
gpt4 key购买 nike

read this ,但它不适用(和/或,我不知道如何调整解决方案)。 I also found this ,但我不想更改数组 - 我只想检查信息。我无法调整解决方案以满足我的需求。

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

例如 - 我有一组 UNIX 时间戳

var ts = [1451772000, 1451858400, 1452031200]

如果它们是连续的(从低到高的值),我想返回 true,如果它们不是连续的,我想返回 false。如果有重复值,我还想返回 false

最佳答案

您可以使用 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];
}));

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

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

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

这个表达式处理了上述两个条件。

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

every 函数使用三个参数为数组的每个值调用传递给它的函数。

  1. 当前元素,
  2. 当前索引
  3. 实际数组

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

关于javascript - 检查 Javascript 数组值是否连续且不相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com