我的數據如下。基於內部數組值跳過JSON數據記錄-D3
data=[ {"venue":"Foyer","values":[{"avg":996.8,"sessions":[{"minTime":0,"maxTime":599,"count":50},
{"minTime":600,"maxTime":1199,"count":39},
{"minTime":1800,"maxTime":2399,"count":43},
{"minTime":2400,"maxTime":2999,"count":48}],"timestamp":1449360000},
{"avg":986.4,"sessions":[{"minTime":0,"maxTime":599,"count":152},
{"minTime":600,"maxTime":1199,"count":51},
{"minTime":1200,"maxTime":1799,"count":36},
{"minTime":1800,"maxTime":2399,"count":68},
{"minTime":3000,"maxTime":3599,"count":34}],"timestamp":1452540000}]},
{"venue":"Venue1","values":[{"avg":996.8,"sessions":[{"minTime":0,"maxTime":599,"count":62},
{"minTime":600,"maxTime":1199,"count":33},
{"minTime":1800,"maxTime":2399,"count":37},
{"minTime":2400,"maxTime":2999,"count":24}],"timestamp":1449360000},
{"avg":986.4,"sessions":[{"minTime":0,"maxTime":599,"count":34},
{"minTime":600,"maxTime":1199,"count":52},
{"minTime":1200,"maxTime":1799,"count":21},
{"minTime":1800,"maxTime":2399,"count":142},
{"minTime":3000,"maxTime":3599,"count":23}],"timestamp":1452540000}]},
{"venue":"Venue2","values":[{"avg":996.8,"sessions":[{"minTime":0,"maxTime":599,"count":44},
{"minTime":600,"maxTime":1199,"count":25},
{"minTime":1800,"maxTime":2399,"count":34},
{"minTime":2400,"maxTime":2999,"count":23}],"timestamp":1449360000},
{"avg":986.4,"sessions":[{"minTime":0,"maxTime":599,"count":31},
{"minTime":600,"maxTime":1199,"count":11},
{"minTime":1200,"maxTime":1799,"count":122},
{"minTime":1800,"maxTime":2399,"count":12},
{"minTime":3000,"maxTime":3599,"count": 3}],"timestamp":1452540000}]}]
我想過濾來自「值」的記錄只有匹配的時間戳。在「值」對非匹配時間戳的條目應當被過濾掉,但是輸出應當是相同的數據結構的,
預期輸出:
[{"venue":"Foyer","values":[{"avg":996.8,"sessions":[{"minTime":0,"maxTime":599,"count":50},
{"minTime":600,"maxTime":1199,"count":39},
{"minTime":1800,"maxTime":2399,"count":43},
{"minTime":2400,"maxTime":2999,"count":48}],"timestamp":1449360000}]},
{"venue":"Venue1","values":[{"avg":996.8,"sessions":[{"minTime":0,"maxTime":599,"count":62},
{"minTime":600,"maxTime":1199,"count":33},
{"minTime":1800,"maxTime":2399,"count":37},
{"minTime":2400,"maxTime":2999,"count":24}],"timestamp":1449360000}]},
{"venue":"Venue2","values":[{"avg":996.8,"sessions":[{"minTime":0,"maxTime":599,"count":44},
{"minTime":600,"maxTime":1199,"count":25},
{"minTime":1800,"maxTime":2399,"count":34},
{"minTime":2400,"maxTime":2999,"count":23}],"timestamp":1449360000}]}]
我試圖用下面的代碼,而是僅最後的場地(場地2)出現。
代碼:
d3.json("Dwell.json", function(error,data){
data.forEach(function(a) {
resultfilter={ "venue": a.venue, "values":a.values.filter(function (d) { return d.timestamp = 1449360000 } ) }
})
document.write('<pre>' + JSON.stringify(resultfilter) + '</pre>');