//获取多个二维数组的公共区间
let getCommonInterval = (allList) => {
//没有直接返回
if (!allList.length) return []
//最后返回的结果
let resultList = []
//目标数组为第一项
let targetList = allList[0]
for (let i = 1; i < allList.length; i++) {
//对比项
let comparativeItem = allList[i]
//找出公共区间
for (let j = 0; j < targetList.length; j++) {
for (let k = 0; k < comparativeItem.length; k++) {
if (comparativeItem[k][1] < targetList[j][0] || comparativeItem[k][0] > targetList[j][1]){
break
}
let start = targetList[j][0]
let end = targetList[j][1]
if(comparativeItem[k][0] > start){
start = comparativeItem[k][0]
}
if(comparativeItem[k][1] < end){
end = comparativeItem[k][1]
}
resultList.push([start, end])
}
}
}
return resultList
}
console.log(getCommonInterval([
[[1, 9], [11, 20]],
[[3, 11], [15, 18]],
]))
js 获取多个二维数组的公共区间
最新推荐文章于 2024-09-17 11:42:54 发布
该篇文章介绍了如何使用JavaScript编写一个名为`getCommonInterval`的函数,用于找出多个二维数组中的公共区间。函数通过嵌套循环对比每个数组的元素,找出所有共享的子区间并返回结果。
摘要由CSDN通过智能技术生成