我有一个数组(key,startValue,EndValue);
var fruits = [[1,10, 15], [1,25, 30]];
我想在推送之前验证
console.log(push([1,5, 35])); // false
console.log(push([2,5, 35])); // true
console.log(push([1,30, 40])); // true
console.log(push([1,15, 25])); // true
console.log(push([1,5, 10])); // true
console.log(fruits);
同样,我有密钥2,3,4,5,等等。
我正在使用以下脚本。
function push(array) {
return fruits.every(function(a) {
return array[0] == a[0] && (array[2] <= a[1] || a[2] <= array[1]);
}) && fruits.push(array) && true;
}
答案 0 :(得分:3)
您可以先检查按键。
return array[0] !== a[0] || array[2] <= a[1] || a[2] <= array[1];
// ^^^^^^^^^^^^^^^^^^^^
function push(array) {
return fruits.every(function(a) {
return array[0] !== a[0] || array[2] <= a[1] || a[2] <= array[1];
}) && fruits.push(array) && true;
}
var fruits = [[1, 10, 15], [1, 25, 30]];
console.log(push([1, 5, 35])); // false
console.log(push([2, 5, 35])); // true
console.log(push([1, 30, 40])); // true
console.log(push([1, 15, 25])); // true
console.log(push([1, 5, 10])); // true
console.log(push([2, 0, 5])); // true
console.log(fruits);
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;