CSV用データベースライブラリ(3)

データは次のように得る。


var d = new dataSet(str, true);
var buff = "";
for(var i = 0; i < d.data.length; i++) {
buff += d.getValue(i, 0) + "<br />";
}
〜.innerHTML = buff;

こうすると、

太郎
花子
太郎
花子

といった具合に表示されるだろう。
getValueメソッドの第1引数はレコードを、第2引数が列を指定している。
より直接的には、


d.data[i][0]

でもよい。
ヘッダがあるときには、


d.getValue(i, "名前");

と書くのがミスを減らすよい方法だろう。


function dataSet(str, header) {
...

this.getValue = function(i, item) {
// どのカラムか決める
var col = this.getColumn(item);
if(col == null)
return null;
return this.data[i][col];
}

this.getColumn = function(item) {
var h = this.header;
if(h) {
for(var i = 0; i < h.length; i++) {
if(i == item || h[i] == item)
return i;
}
return null;
}
else {
return item;
}
}
}