2012-07-18 71 views
-1

我的JSON數組store看起來像這樣

[{ 
"role": "Executive Director", 
"name": "David Z", 
...}, 
{ 
"role": "Executive Director", 
"name": "David Z", 
...}, 
{ 
"role": "Non Executive Chairman", 
"name": "Hersh M", 
...}, 
{ 
"role": "Non Executive Director", 
"name": "Alex C", 
...}, 
{ 
"role": "Company Secretary", 
"name": "Norman G", 
...}]  

從這個陣列自帶的幾個HTML表格。

通過 store

我環路平局HTML表格作爲Ajax成功功能的一部分,這樣

var table = ''; 
table += '<tr><td......</td>'; 
$.each(store, function(i, data) { 
    // draw row... 
    // draw row etc... 
}); 
table += '</tr></tbody>'; 
$("#table_d").append(table); 

但是因爲我想跳過的David Z 2號發生中的一個表(或任何名稱出現超過一次)

var table = ''; 
table += '<tr><td......</td>'; 
$.each(store, function(i, data) { 
    if (i > 0, store[i].name != store[i-1].name) { 
     // draw row... 
     // draw row etc... 
    } 
}); 
table += '</tr></tbody>'; 
$("#table_d").append(table); 

陣列將始終排序,這樣我可以比較反對store[i].namestore[i-1].name重複name

那麼我該如何正確表達store[i].name != store[i-1].name運行循環?

回答

1

如果我正確理解你的問題,我想你只需要做到這一點

if(i > 0) 
{ 
    if(store[i].name != store[i-1].name) 
    { 
     //run code here 
    } 
} 
+0

啊:

var names = new Array(); 

你的每一個循環內謝謝。儘管這跳過了第一個記錄。我試圖包括第一個記錄,然後每個檢查每一個與以前? – Ben 2012-07-18 00:31:36

+0

明白了。只需添加另一個'其他'。謝謝 – Ben 2012-07-18 00:34:01

1

你的每一個外循環:

if(names.indexOf(store[i].name)==-1){ 
    names.push(store[i].name); 
    //code here 
}