2011-10-19 12 views
3

配列の最初のレコードを戻したり削除したりしないでください。私は、下記のJSONファイルからデータを取得しています:JSON配列 - 最初の要素を削除する

$(data.content).each(function(index, content){ 
    $("#htmlID").append('<span>' + content.myinfo + '); 
}); 
    { 

    "content": 

    [ 
{"myinfo":"Bill Clinton 095 years old. "}, 
{"myinfo":"Bill Clinton 195 years old. "}, 
{"myinfo":"Bill Clinton 295 years old. "}, 
{"myinfo":"Bill Clinton 295 years old. "} 

    ] 
    } 

ページのすべてが完璧に出てくると私は私のデータを追加し、私は最初の要素(インデックス)をスキップするようになる...私は基本的にしないでください特定の成果を得るために095歳のビル・クリントンを戻したい。

どうすればよいですか? (grep?、削除、削除?)。

最も簡単なアプローチは何ですか?そうする

答えて

2

使用.shift();方法、それはそうちょうどあなたがループを実行するときにしているどの要素のテスト、あなたはおそらく、配列やJSONを変更したくない最初の要素

+0

だけでシフトがシフト要素を返し覚えているが、シフトによって返されるものではなく、むしろ元の変数の残ったものに基づいて行動してください。 –

7

をシフトします:

$(data.content).each(function(index, content){ 
    if (index>0) { // skips first element 
     $("#htmlID").append('<span>' + content.myinfo + '</span>'); 
    } 
}); 

いっそ、ちょうど昔ながらのforループを使用して、自分自身にいくつかのオーバーヘッドを保存する:あなたがちょうどFiを提供してスキップしたい場合は

for (var i=1; i<data.content.length; i++) { 
    $("#htmlID").append('<span>' + data.content[i].myinfo + '</span>'); 
} 
+0

最初の1つは完璧に機能しました!ありがとう –

+1

これは私の最初の本能でした。シンプルで機能します。 jQueryの.each()関数を「好き」にしても、必ずforループを使用してください。そうすれば、各アイテムのif文は実行されません。あなたがJSONを保存することに気をつけなければ、Grigorの方法も良いです。 –

2

を最初の項目は、これはそれを行います。

1のindexで始まり、forループ昔ながらについてどのように
$(data.content).each(function(index, content){ 
    if (index > 0) { 
    $("#htmlID").append('<span>' + content.myinfo + '</span>'); 
    } 
}); 
0

var target = $("#htmlID"); 
for (var i = 1, len = data.content.length; i < len; i++) { 
    target.append('<span>' + data.content[i].myinfo + '</span>'); 
} 
関連する問題