实际上我尝试使用以下函数迭代多维数组:
var output = '<div class="row">';
var string = "searchstring";
$.each(data.text, function(key, value){
$.each(value, function(k, v){
if (v != null){
if (v.search(string) != -1) {
output += '<div class="col-md-6 well">';
output += '<div class="col-md-3">'+value.kdi_schulnr+'</div>';
output += '<div class="col-md-7">';
output += '<h5>' + value.kde_name + '</h5>';
output += '<p>' + value.adr_strasse + '</p>';
output += '</div>';
output += '</div>';
}
}
});
});
output += '</div>';
$('#results').html(output);
数组看起来像这样(摘录为例子):
{
"id":"1",
"kde_id":"99",
"kde_name":"Name",
"kde_kurzname":"Name",
"kde_form":"G",
"kde_ganztagsform":null,
"kde_rechtsstatus":"Staatl. anerk.",
"kde_jg":null,
"kde_kapitel":"3100",
"kde_valid_from":"0000-00-00 00:00:00",
"kde_valid_till":"0000-00-00 00:00:00",
"kde_status":"0",
"kdeart_id":"1",
"kdi_id":"1",
"kdi_schulnr":"320167567",
"kdi_standort":"1",
"kdi_zsnr":null,
"kdi_standortnr":"32011456645"
},
{
"id":"2",
"kde_id":"100",
"kde_name":"FooBar",
"kde_kurzname":"Foo",
"kde_form":"GS-HR-STS",
"kde_ganztagsform":"1",
"kde_rechtsstatus":"Staatl. anerk.",
"kde_jg":null,
"kde_kapitel":"3140",
"kde_valid_from":"0000-00-00 00:00:00",
"kde_valid_till":"0000-00-00 00:00:00",
"kde_status":"0",
"kdeart_id":"1",
"kdi_id":"2",
"kdi_schulnr":"320233",
"kdi_standort":"1",
"kdi_zsnr":null,
"kdi_standortnr":"3202112"
}
一切正常,但如果我搜索“0”,我会获得同一阵列的6个输出。我怎么能避免相同数据的多个输出?
答案 0 :(得分:0)
找到了答案!
我把&#34;返回false;&#34;在第二个内部每个跳到下一个数组。 现在,如果搜索到的值匹配,我每个阵列只有1个输出。
var output = '<div class="row">';
var string = "searchstring";
$.each(data.text, function(key, value){
$.each(value, function(k, v){
if (v != null){
if (v.search(string) != -1) {
output += '<div class="col-md-6 well">';
output += '<div class="col-md-3">'+value.kdi_schulnr+'</div>';
output += '<div class="col-md-7">';
output += '<h5>' + value.kde_name + '</h5>';
output += '<p>' + value.adr_strasse + '</p>';
output += '</div>';
output += '</div>';
return false;
}
}
});
});
output += '</div>';
$('#results').html(output);