2017-11-30 11 views
-7
Array: {3412124539: 1, 3412124540: 1, 3412124577: 2, 3412124590: 1, 3412124602: 1, 3412124605: 1, 3412124607: 1, 3412124617: 1, 3412124629: 1, 3412124630: 1, 4709502367: 1, 4709502349: 1, 4709502326: 1, 4708510268: 1, 4708510060: 1, …} 

私は3412124577を検索したいと思います。 値が2 の場合は戻します。javacriptの配列の反復

どうすればよいですか?また、私は反復しようとしたときArray[30]。それは私にエラーを与える。 検索はどのように行うのですか?

+1

とオブジェクトという名前のコレクションのチェックを使用して、次の検索機能を見てみましょうか? – brk

+3

これは配列ではありませんオブジェクト –

+0

コードを表示します... –

答えて

0

あなたの投稿の配列について話していますが、私たちに与えた "配列"は実際にはオブジェクトです。主なショッカー、私は知っている...配列[]対オブジェクト{}大括弧に注目してください。

しかし、これは実際にあなたのケースでは悪いことではありません。配列内のすべての項目をループする必要はありません。披露させて。

javascriptの配列表記でオブジェクトのキーにアクセスできます。

object['key']   //accessing by array notation 

または

object.key    //accesing by dot notation 

そして、あなたが戻って話をしていることから、私は、関数についてのあなたの話を推定しています:(?まだ続いて)それを行うための基本的な方法です。それは、配列またはオブジェクトである配列表記法

var collection = {3412124539: 1, 3412124540: 1, 3412124577: 2, 3412124590: 1, 3412124602: 1, 3412124605: 1, 3412124607: 1, 3412124617: 1, 3412124629: 1, 3412124630: 1, 4709502367: 1, 4709502349: 1, 4709502326: 1, 4708510268: 1, 4708510060: 1} 
 

 
function search(inWhat, forWhat, equalsWhat){ 
 
    if(inWhat[forWhat] == equalsWhat) 
 
    return 'returned cause '+forWhat+' is '+equalsWhat; 
 
} 
 

 
var returnValue = search(collection, 3412124577, 2); 
 

 
// ---- outputting the returnValue here 
 
document.write(returnValue);

0

おそらくうまくいく可能性があります。

$.each(yourVariableHere, function(index, value) { 
    if(index == 2){ 
     console.log("I found it."); 
    } 
});