从范围数组中查找缺失的范围
find missing range from array of ranges
我有我的类的数组,具有最小值和最大值属性。
假设我的数组中有三个元素
First MinValue=0 and MaxValue=25
Second MinValue=26 and MaxValue=50
Third MinValue=75 and MaxValue=100
Minvalue和Maxvalue的取值范围为0 ~ 100。
现在我想从上面有三个对象的数组中找到缺失的范围。
上面数组中缺少的范围是51到75
可以有一个以上的缺失值,我想找到最小MinValue的范围。
我想用javascript写代码。
请帮我解决这个问题
你应该试着自己动手解决这个问题。
var arr = [{ Min :0, Max:25 } , { Min:26, Max:28}, { Min:35, Max:41}, { Min:48, Max:71}];
var range = [];
for(var i = 0; i <= 100; i++)
{
range.push(true); // first set it as missing...
}
for(var i = 0 ; i < arr.length ; i++)
{
for(var j = arr[i].Min ; j <= arr[i].Max ; j++)
{
range[j] = false; // loop the array and set it to false
}
}
var missingPart = '';
var start = false;
for(var i = 0 ; i < range.length ; i++) // loop the range array and build result
{
if(range[i])
{
if(!start)
{
start = true;
if(missingPart)
{
missingPart+=", ";
}
missingPart += i;
}
}
else
{
if(start)
{
start = false;
missingPart += ("-" + (i-1));
}
}
}
if(start)
{
missingPart += ("-100");
}
document.getElementById("counter").innerHTML = missingPart
在这里找到jsFiddle结果:http://jsfiddle.net/gm4HG/2/
从当前minValue中减去之前的maxValue。差值应该总是1。循环遍历所有值以查找缺失的范围。
相关文章:
- 如何通过数组更新角度子范围
- 在对象数组中查找多个值的d3范围
- 从指定范围创建字符数组
- 如何创建一个方法来验证数组的范围
- JS:从数组中查找特定范围内的最低/最高数字
- 根据范围过滤角度.js数组
- 将数组传递给函数或确保它在范围内
- Angularjs:访问范围变量数组并计算平均值
- 搜索包含包含所需值的范围的数组
- 如何检查符号是否在范围(或数组)中
- 返回Javascript中给定正则表达式的文本范围数组
- 检查鼠标光标是否在带坐标的数组范围内
- 对在10的倍数的相同范围内的数组值进行分组
- 短范围命名空间数组是什么意思
- AngularJs 帮助,在传递给隔离范围的对象中选择数组时遇到问题
- 如何获取数组第一个元素的范围
- 数组循环以确定范围平均值
- 查找范围数组中的重叠部分,并使用新的分块范围构建一个新数组
- 从范围数组中查找缺失的范围
- 如何获得价格范围数组在jquery数组根据比较我的金额