-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 表。

作为ajax成功函数的一部分,我循环store到一个draw html表,就像这样

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(或任何多次出现的名称)

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].name重复store[i-1].namename

那么我如何正确表达 if store[i].name != store[i-1].namerun loop 呢?

4

2 回答 2

1

如果我正确理解您的问题,我认为您只需要这样做

if(i > 0)
{
    if(store[i].name != store[i-1].name)
    {
        //run code here
    }
}
于 2012-07-18T00:22:02.447 回答
1

在每个循环之外:

var names = new Array();

在你的每个循环内:

if(names.indexOf(store[i].name)==-1){
    names.push(store[i].name);
    //code here
}
于 2012-07-18T00:40:47.360 回答