Javascript 如何在筛选键值后从JSON追加
我有一个JSON,其中使用jQueryJavascript 如何在筛选键值后从JSON追加,javascript,jquery,json,Javascript,Jquery,Json,我有一个JSON,其中使用jQuery$。每个函数将数据附加到表中。我使用if语句检查值是否与字符串匹配 在我的上一个表列中,我需要从另一个文本过滤器获取数据。因此,如果数据值与我的过滤器匹配,则将其作为最后一个td dataset = [ "river": { "year": "2016", "name": "Silver Creek", "series": "Caught fish", "weight": "100 kg", }, "river"
$。每个
函数将数据附加到表中。我使用if语句检查值是否与字符串匹配
在我的上一个表列中,我需要从另一个文本过滤器获取数据。因此,如果数据值与我的过滤器匹配,则将其作为最后一个td
dataset = [
"river": {
"year": "2016",
"name": "Silver Creek",
"series": "Caught fish",
"weight": "100 kg",
},
"river": {
"year": "2016",
"name": "Silver Creek",
"series": "Released fish",
"weight": "60 kg"
}
];
$(dataset).each(function(i, data){
if (data.year === "2016" && data.series === "Caught fish") {
$('tbody').append('<tr class="river"><td>' + this.year + '</td><td>' + this.name + </td><td>' + this.weight + </td></tr>')
} if (data.year === "2016" && data.series === "Released fish") {
$('tr.river').append('<td>' + this.weight + '</td>')
}
});
有什么建议吗?我是否可以基于$之外的数据集构建一个新变量。每个函数 使用释放鱼的选择器查看表中是否已经存在年份和水体:
var数据集=[
{“年份”:“2015年”,“名称”:“雪松溪”,“系列”:“捕获的鱼”,“重量”:“90千克”},
{“年份”:“2016年”,“名称”:“银溪”,“系列”:“捕获的鱼”,“重量”:“60公斤”},
{“年份”:“2015年”,“名称”:“雪松溪”,“系列”:“放生鱼”,“重量”:“40公斤”},
{“年份”:“2016年”,“名称”:“银溪”,“系列”:“放生鱼”,“重量”:“60公斤”}
];
dataset.forEach(函数(数据){
如果(data.series===‘捕获的鱼’){
$('tbody').append(“”+data.year+“”+data.name+“”+data.weight);
}否则{
$('tr:contains(+(data.year+data.name)+')).append(''+data.weight);
}
});代码>
tr>*{border:1px solid#ddd;}
阿梅考特获释
此处缺少一个报价this.weight+我认为您遇到了问题,因为您的数据组织得很糟糕。这样的数据对您更有帮助:“河流”:{年份:2016年,名称:“银溪”,重量:“100kg”,释放重量:“60kg”}
。你可以根据它是否有发布的权重来确定它的系列。这是数据来自API的方式。最初是json stat格式。
YEAR | NAME | CAUGHT | RELEASED
2016 | Silver Creek | 100 kg | 60 kg