2012-03-13 18 views
0

I'have次配列のnullでない特定の値の位置を求める:私は、その配列の最初の位置が何であるかを知っておく必要があり(最初と最後)配列

[null,null,null,null,null,null,2,10,29,43,45,40,54,39,13,1,null,null,null,null,null] 

nullでなく最後のものもnullではありません。この特定の例では

、第6(位置1として0をカウントする)であろうと15

は、非標準の配列方法を用いて

+2

何を試しましたか? [単純なfor(;;;)ループ](https://developer.mozilla.org/ja/JavaScript/Reference/Statements/for)を自分で作成しようとしましたか? – Matt

答えて

3
var firstPos = -1, lastPos = -1; 
for(var i = 0; i < arr.length; i++) { 
    if(arr[i] !== null) { 
     if(firstPos == -1) { 
      firstPos = i; 
     } 
     lastPos = i; 
    } 
} 
2

ありがとうございました:

var arr = [null,null,null,null,null,null,2,10,29,43,45,40,54,39,13,1,null,null,null,null,null]; 

var mapped = arr.map(function (i) { 
    "use strict";  
    return i !== null; 
}); 

var first = mapped.indexOf(true); 
var second = mapped.lastIndexOf(true); 

mapindexOflastIndexOfの両方にIE9 +ブラウザまたはシムが必要です。しかし、彼らは本当にクールに見える。

関連する問題