【发布时间】:2016-10-31 15:34:34
【问题描述】:
我有以下 JavaScript 代码,它使用 sql.js 库与远程 SQL 数据库进行通信。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://dl.dropboxusercontent.com/u/540963/test.sqlite', true);
xhr.responseType = 'arraybuffer';
var output = [];
xhr.onload = function(e) {
var uInt8Array = new Uint8Array(this.response);
var db = new SQL.Database(uInt8Array);
var data = db.exec("SELECT year, weight FROM freq_data WHERE doi = 'D007266'");
$.each(data[0].values, function(key, value) {
output.push({'year': value[0], 'weight': value[1]});
});
};
xhr.send();
输出存储在output 数组中。例如,对于给定的数组,数据如下:
{ year=1996, weight=3}
{ year=1999, weight=2}
{ year=2004, weight=5}
{ year=2005, weight=3}
{ year=2006, weight=2}
数据存在一些差距;例如,1997、1998、2000-2003 年没有条目。我想知道如何估算数据以用 0 值填充缺失的年份以结束:
{ year=1996, weight=3}
{ year=1997, weight=0}
{ year=1998, weight=0}
{ year=1999, weight=2}
...
{ year=2006, weight=2}
最合适的方法是什么?
【问题讨论】:
-
在数组上循环,跟踪年份,为缺少的添加条目...
-
数据是否保证排序?
-
@TimoSta 是的,我可以使用 SQL 对数据进行排序。
标签: javascript sql arrays