为了学习目的,我想知道如何从随机数字中检查空数字(或用字母替换)。检查数组中的空数字
我把数字和字母到一个数组:
var numb = [1, 7, 3, a, 4];
在这种情况下,我们不知道的最高数和最低数。
我想检查从数字2开始到最高的空数(结果2,5和6)。
为了学习目的,我想知道如何从随机数字中检查空数字(或用字母替换)。检查数组中的空数字
我把数字和字母到一个数组:
var numb = [1, 7, 3, a, 4];
在这种情况下,我们不知道的最高数和最低数。
我想检查从数字2开始到最高的空数(结果2,5和6)。
循环在你阵列找到最大max
,然后遍历max - 1 - minumum
次测试号在阵列存在。
function foo(arr) {
var bar = [],
i,
max = -Infinity;
for (i = 0; i < arr.length; ++i) // loop 1
if (arr[i] === +arr[i]) // simple check if number, throw away NaN
if (arr[i] > max)
max = arr[i];
while (max-- > 2) // loop 2, you said 2 is minimum
if (arr.indexOf(max) === -1)
bar.unshift(max);
return bar;
}
foo([1, 7, 3, 'baz', 4]); // [2, 5, 6]
我也假设你所有的数字都是整数。
+1谢谢@保罗为你回答这就是我想要的。 – 2014-10-04 01:51:27
'max = -Infinity;'为什么'-'?为什么无穷大 – 2014-10-04 01:53:51
@ RokoC.Buljan任何数字(除了'NaN'和它本身)都大于'-Infinity'。另外,'Math.max(); // -Infinity'。其中'-Infinity'是最高迭代次数的任何循环都将立即停止。 – 2014-10-04 01:56:49
我不明白你的意思是“空”的数字。 – Paul 2014-10-04 01:32:53
为什么不从数组中替换'你的空数'(或可能是无约束值)?那么你可以得到最高值 – 2014-10-04 01:35:03
在这种情况下,我想从上面的数组中获得数字2,5和6。 – 2014-10-04 01:35:12