可以使用如下代码判断一个数组是否为等差数组:
function isArithmeticArray(arr) { if (arr.length < 2) { // 数组长度不足2个元素,肯定不是等差数组 return false; } // 计算公差 let d = arr[1] - arr[0]; // 遍历数组,两两判断差值是否为d for (let i = 1; i < arr.length - 1; i++) { if (arr[i + 1] - arr[i] !== d) { return false; // 差值不相等,不是等差数组 } } return true; // 差值相等,是等差数组 }
使用方法:
const arr1 = [1, 2, 3, 4, 5]; // 等差数组 const arr2 = [1, 3, 5, 7, 9]; // 等差数组 const arr3 = [1, 2, 4, 8]; // 不是等差数组 console.log(isArithmeticArray(arr1)); // true console.log(isArithmeticArray(arr2)); // true console.log(isArithmeticArray(arr3)); // false