验证数组

时间:2016-06-20 17:54:21

标签: javascript jquery arrays validation

我有一个数组:

var aNumbers = [1,2,1,3,4,4,5];

我需要验证两个条件:

首先,我需要知道数组是否包含数字,我有一个找到该元素的函数。 (没问题,它正在运作!

function include(arr,obj) {
   return (arr.indexOf(obj) != -1);
}

include(aNumbers,1);//true
include(aNumbers,6);//false

第二,我需要一个函数来按顺序验证数字,如下所示:

function consecutive(arr,obj){
    //code
}

预期结果......

consecutive(aNumbers,6);//true
consecutive(aNumbers,7);//false

总结:我需要添加一个存在于我的数组中的数字,或者连续到最大数字。

if(include(aNumbers, newNumber)){
    aNumbers.push(newNumber); 
}else if(consecutive(aNumbers, newNumber)){
    aNumbers.push(newNumber);
}else{
    alert('Number not valid!!!');
}

我需要帮助我的功能才能连续验证!

2 个答案:

答案 0 :(得分:2)

假设数组已排序

function consecutive(arr,obj){
    return arr[arr.length - 1] + 1 === obj;
}

如果不是

function consecutive(arr,obj){
    return Math.max.apply(Math, arr) + 1 === obj;
}

答案 1 :(得分:1)

那么,你想检查输入是否等于数组中的最后一个元素加1?

function consecutive(arr,obj){
    return (arr[arr.length - 1] + 1) === obj;
}

错误处理不包括在内并取决于您。