1
sql.jsライブラリを使用してリモートSQLデータベースと通信する以下のJavaScriptコードがあります。JavaScript配列の補完値がありません
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}
それを行うための最も適切な方法は何ですか?
ループ... –
データはソートされていることが保証されていますか? – Timo
@TimoStaはい、SQLを使用してデータをソートできます。 – Andrej