2015-03-02 54 views
1

我想使用flot.js顯示JSON格式的數據曲線,但數據文件包含兩行(超過50,000),並且渲染圖形需要太多時間。所以我想保留只有一條線nJSON保留一行n

例如對於n = 3,我想保持線,指標:1,4,7,10等

的JSON數據文件的格式如下:

[{"t":"22.40", 
"lumi":"738.00", 
"h":"31.20", 
"f":"72.32", 
"hi":"76.43", 
"date":"2015-02-28T13:38:41.025Z", 
"_id":"54f1c4e17cb06e5e09015b63"}, 

... 50,000 other lines 

什麼實現這個最簡單的方法?

+0

'VAR arrData = JSON .parse(jsonData);','arrData [0]' – 2015-03-02 15:03:31

+0

[從數組中刪除特定元素?]的可能重複(http://stackoverflow.com/questions/5767325/remove-specific-eleme nt-from-an-an-an-an-an-an-an-an-an-array) – 2015-03-02 15:10:08

+1

實際上我不想刪除例如具有1,2,4,5,7,8等索引的行,只保留行的1/3。我會編輯我的帖子,使其更清晰。 – Harijoe 2015-03-02 15:19:58

回答

0

您可能需要使用Array.filter(),看到https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

通過移除行每n來壓縮你的陣列,創建這個

Array.prototype.oneOutOf= function(n) { 
    return this.filter(function(element,index) { 
    return (index%n)==0 
    }); 
} 

,然後嘗試

JSON.parse(jsondata).oneOutOf(10); 
+0

感謝您的回答,儘管我使用JSON.parse時遇到了問題。它似乎不適合我的數據文件的結構(請參閱原始文章)。另外,我需要保持JSON格式將其發送到'flot.js'。你能否相應地完成你的回答? – Harijoe 2015-03-02 16:34:51

+0

接受此答案併發布針對您的關於JSON解析器的問題的另一個問題 – 2015-03-02 16:46:00