JSON保留一行n

时间:2015-03-02 15:01:43

标签: javascript json

我希望使用flot.js以JSON格式显示数据曲线,但数据文件包含两行(超过50,000行),渲染图表需要花费太多时间。所以我想只保留一行

例如,对于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

实现这一目标的最简单方法是什么?

1 个答案:

答案 0 :(得分: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);