我想实现一个函数,当给出两个代表行的对象时,返回它们是否重叠。检查范围重叠
这是它应该如何看起来像视觉。
实施例1:
checkOverlap({start: 0, end: 10}, {start: 8, end: 15})
在视觉上,将是:
0--------10
8-------15
^overlap
返回true
。
实施例2:
checkOverlap({start: 12, end: 15}, {start: 0, end: 10})
在视觉上,将是:
12-------15
0--------10
no overlap
返回false
。
这里是我的功能,适用于一些但不是所有:
function checkOverlap(lineA, lineB) {
var result;
for(var a in lineA) {
for(var b in lineB) {
if(a.end > b.start) {
result = true;
} else {
result = true;
}
}
}
return result;
}
* “它适用于一些但不是所有的” *为了什么输入不工作?从我可以告诉的是,它不应该工作。做一个'console.log(a,b)'看看'a'和'b'的值究竟是什么。另外,为什么你将相同的值赋给'if'和'else'块中的'result'?这意味着'result'将总是*为'true'。你认为“(A行中的变量)”是什么意思?你为什么使用循环? –
对不起,它不工作,它只是输出真,其余的代码不工作 – sal