爲了學習目的,我想知道如何從隨機數字中檢查空數字(或用字母替換)。檢查數組中的空數字
我把數字和字母到一個數組:
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