2014-07-26 170 views
2

我正在顯示來自對象數組的數據,但我想過濾結果以便僅顯示winner屬性具有值的那些對象的name s 1檢查對象是否具有特定值的屬性

<script> 
$(document).ready(function() { 
    var json = [ 
     {"name":"Name 1","winner":"1"}, 
     {"name":"Name 2","winner":"0"}, 
     {"name":"Name 3","winner":"1"}, 
     {"name":"Name 4","winner":"1"}, 
     {"name":"Name 5","winner":"0"}, 
    ]; 

    var li; 
    for (var i = 0; i < json.length; i++) { 
     li = $('<li/>'); 
     li.append(json[i].name); 
    $('#feed').append(li); 
    } 
}); 
</script> 

HTML應該是這樣的(只顯示結果時,獲勝者是真實的,winner = 1

<ul id="feed" > 
    <li>Name 1</li> 
    <li>Name 3</li> 
    <li>Name 4</li> 
</ul> 
+3

這真的是一個''標籤嗎? – adeneo

+2

這不是JSON:http://json.org/ –

+0

除了最後一個對象之後的逗號,是的。 –

回答

3

剛剛在環

for (var i = 0; i < json.length; i++) { 
    if (json[i].winner === "1") { 

     $('<li />', {text : json[i].name}).appendTo('#feed'); 

    } 
} 

FIDDLE

+0

謝謝。它的工作 – Azukah

4
添加條件

您可以嘗試使用if聲明:

for (var i = 0; i < json.length; i++) { 
    if (json[i].winner === '1') { 
     li = $('<li/>'); 
     li.append("<font size='+1'>" + json[i].name + "</font>"); 
     $('#feed').append(li); 
    } 
} 
+0

謝謝。它的工作原理 – Azukah

3

你如果獲勝者是等於增加一個if語句來檢查,以1:

var json = [ 
     {"name":"Name 1","winner":"1"}, 
     {"name":"Name 2","winner":"0"}, 
     {"name":"Name 3","winner":"1"}, 
     {"name":"Name 4","winner":"1"}, 
     {"name":"Name 5","winner":"0"}, 
    ]; 

    var li; 
    for (var i = 0; i < json.length; i++) { 
    if(json[i].winner == "1"){ //add this 
     li = $('<li/>'); 
     li.append("<font size='+1'>" + json[i].name + "</font>"); 
    $('#feed').append(li); 
    } 
} 

fiddle

+0

謝謝。它的工作原理 – Azukah

3

試試這個:

var ul = $('ul#feed'); 
    for (var i = 0; i < json.length; i++) { 
     if (json[i].winner == 1) { 
      ul.append("<li>" + json[i].name + "</li>"); 
     } 
    } 

Working fiddle.

+0

謝謝。這樣可行。 – Azukah

相關問題