现在有一个数组【{min:100,max:200】类似的使用js跟java提供方法校验传入的{min:'',max:''}不能重叠于数组中的内容的方法
时间: 2024-05-06 07:18:47 浏览: 92
以下是使用 JavaScript 和 Java 提供的方法来校验传入的 `{min:'',max:''}` 是否与数组中的内容重叠的示例:
JavaScript 版本:
```javascript
function checkOverlap(arr, obj) {
for (let i = 0; i < arr.length; i++) {
if (obj.min < arr[i].max && obj.max > arr[i].min) {
return true; // 有重叠,返回 true
}
}
return false; // 没有重叠,返回 false
}
// 示例用法:
const arr = [{min: 50, max: 80}, {min: 120, max: 150}];
const obj1 = {min: 30, max: 60};
const obj2 = {min: 160, max: 180};
console.log(checkOverlap(arr, obj1)); // true
console.log(checkOverlap(arr, obj2)); // false
```
Java 版本:
```java
public static boolean checkOverlap(List<Map<String, Integer>> arr, Map<String, Integer> obj) {
for (Map<String, Integer> item : arr) {
if (obj.get("min") < item.get("max") && obj.get("max") > item.get("min")) {
return true; // 有重叠,返回 true
}
}
return false; // 没有重叠,返回 false
}
// 示例用法:
List<Map<String, Integer>> arr = new ArrayList<>();
Map<String, Integer> item1 = new HashMap<>();
item1.put("min", 50);
item1.put("max", 80);
Map<String, Integer> item2 = new HashMap<>();
item2.put("min", 120);
item2.put("max", 150);
arr.add(item1);
arr.add(item2);
Map<String, Integer> obj1 = new HashMap<>();
obj1.put("min", 30);
obj1.put("max", 60);
Map<String, Integer> obj2 = new HashMap<>();
obj2.put("min", 160);
obj2.put("max", 180);
System.out.println(checkOverlap(arr, obj1)); // true
System.out.println(checkOverlap(arr, obj2)); // false
```
阅读全文