如何检查数字数组是否是没有跳转的增量序列?

问题描述 投票:0回答:2

我正在尝试验证数字数组是否是增量序列,数字之间没有跳跃。例如:

const items = [1,2,3,4] // Should return true
const items = [1,2,4] // Should return false - jumps from 2 to 4
const items = [5,6,7] // Should return true

数组并不总是从 1 开始,就像上面的例子一样,它从 5 开始返回 true。我如何编写一个函数来验证这一点,以便根据序列是否有跳转返回 true 或 false?

提前致谢。

javascript
2个回答
0
投票
function isIncrementalSequence(arr) {
  if (arr.length <= 1) return true; // Single element or empty array is considered a sequence

  for (let i = 1; i < arr.length; i++) {
    if (arr[i] !== arr[i - 1] + 1) {
      return false; // If there's a jump, return false
    }
  }

  return true; // No jumps found, return true
}

// Test cases
console.log(isIncrementalSequence([1, 2, 3, 4])); // true
console.log(isIncrementalSequence([1, 2, 4]));    // false
console.log(isIncrementalSequence([5, 6, 7]));    // true

0
投票

检查每个成员(不包括第一个成员)减去前一个成员是否等于 1 应该适合您。

const items = [1,2,3,4] // Should return true
//2 - 1 = 1, 3 - 2 = 1,...
const items = [1,2,4] // Should return false
//4 - 2 = 2 -> false
const items = [5,6,7] // Should return true
// 6 - 5 = 1,...
© www.soinside.com 2019 - 2024. All rights reserved.