我有一个值为[0,3,4,6,0]
的数组,如何验证之前的值是否小于after值?
var array = [0,3,4,6,0];
for(var i = 0; i < array.length; i++){
//if the value of 0 >,3 >,4, > 6
//return false;
}
我需要用户输入有序的数字序列,例如5, 4, 3, 2, 1
。因此,我需要验证输入是否不在有序序列中。
答案 0 :(得分:2)
迭代所有数组,期望为真,直到你达到假,你可以突破循环。
function ordered(array) {
var isOk = true; // Set to true initially
for (var i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {
// If something doesn't match, we're done, the list isn't in order
isOk = false;
break;
}
}
document.write(isOk + "<br />");
}
ordered([]);
ordered([0, 0, 0, 1]);
ordered([1, 0]);
ordered([0, 0, 0, 1, 3, 4, 5]);
ordered([5, 0, 4, 1, 3, 4]);
答案 1 :(得分:2)
function customValidate(array) {
var length = array.length;
return array.every(function(value, index) {
var nextIndex = index + 1;
return nextIndex < length ? value <= array[nextIndex] : true;
});
}
console.log(customValidate([1, 2, 3, 4, 5]));
console.log(customValidate([5, 4, 3, 2, 1]));
console.log(customValidate([0, 0, 0, 4, 5]));
console.log(customValidate([0, 0, 0, 2, 1]));
&#13;
答案 2 :(得分:1)
你可以做的是循环数组并比较相邻的元素,如下所示:
var isOk = false;
for (var i = 0; i < array.length - 1; i++) {
if (array[i] > array[i+1]) {
isOk = true;
break;
}
}
因此,标志isOk
将确保整个数组按降序排序。
答案 3 :(得分:1)
function inOrder(array){
for(var i = 0; i < array.length - 1; i++){
if((array[i] < array[i+1]))
return false;
}
return true;
}