Json for循环从输出变量中删除重复项

json for loop remove duplicates from the output variable

本文关键字:删除 变量 for 循环 输出 Json      更新时间:2023-09-26

我需要在循环中停止重复,因为我重复了10次div:

out = '';
for(var p in outData){
    for(var key in p){
        out += '<div id="'+p+'">'+outData[p]["message"]+' - '+outData[p]["xxx"]+'</div>';
    }
}
$( element ).prepend(out);

from a json:

outData = {
    "1439335276":{"message":"fg","xxx":"xxx"},
    "1439335668":{"message":"fgx","xxx":"xxx"},
    "1439335675":{"message":"fgxccc","xxx":"xxx"}
}

实际上我得到了正确的数据,我只需要停止重复…我做错了什么?

实际结果:

<div id="1439335276">fg - xxx</div>
... x10
<div id="1439335668">fgx - xxx</div>
... x10
<div id="1439335675">fgxccc - xxx</div>
... x10

理想的结果:

<div id="1439335276">fg - xxx</div>
<div id="1439335668">fgx - xxx</div>
<div id="1439335675">fgxccc - xxx</div>

你有一个额外的嵌套循环,删除内部的

for(var p in outData){  
      out += '<div id="'+p+'">'+outData[p]["message"]+' - '+outData[p]["xxx"]+'</div>';    
}
演示

你的循环次数太多了

var out = '';
for(var p in outData){
    out += '<div id="'+p+'">'+outData[p]["message"]+' - '+outData[p]["xxx"]+'</div>';
}

给:

<div id="1439335276">fg - xxx</div>
<div id="1439335668">fgx - xxx</div>
<div id="1439335675">fgxccc - xxx</div>

根据JSON, JSON是不正确的,或者任何JS变量名应该以_或字母开头。你不需要内部循环,但是你的调用最后代码是

out = '';
for(var p in outData){
    out += '<div id="'+p+'">'+outData[p]["message"]+' - '+outData[p]["xxx"]+'</div>';
}
$( element ).prepend(out);