首页 > 解决方案 > 如果数组中的连续数字相隔相同的大小,请输入

问题描述

我必须这样做:执行一个函数或方法,它接收一个包含 n 个数字的数组,并检测所有连续数字是否以相同的幅度分开,但我必须在 JavaScript 中完成。

public static void main(String[] args) {
    int ar[]={194, 54, 23, 7, 3, 6, 8};
    if(array(ar)){
        System.out.println("Son consecutivos");
    }else{
        System.out.println("No son consecutivos");
    }
}

public static boolean array(int arr[]){
    Arrays.sort(arr);
    for(int i=0; i<arr.length; i++){
   if((arr[i] + 1) != arr[i+1]) {
        return false;
    }
    }
    return true;
}

标签: javascriptjavamatrix

解决方案


请试试这个,因为数组可能是一个关键字我把它改成了“ aray

const ar =[194, 54, 23, 7, 3, 6, 8];
// const ar =[1, 3, 5, 7];
if (aray(ar)) {
    console.log("Son consecutivos");
} else {
    console.log("No son consecutivos");
}

function aray(arr) {
    let result = false;
    if (!arr) {
        return result;
    }
    if (arr.length <= 2) {
        return result;
    }
    arr = arr.sort((a, b) => {
        return a - b;
    });
    let i = 0;
    let magnitude = Math.abs(arr[i] - arr[i + 1]);    
    for(let i = 1; i < arr.length - 1; i++) {
        if(Math.abs(arr[i] - arr[i + 1]) != magnitude) {
            
            return result;
        }
    }    
    result = true;
    return result;
}

输出:

No son consecutivos

推荐阅读