/r で区切られた JSON 値の文字列があります。DB テーブルのレコードのようなものです。次のようになります。
"{"id":"id","hole":"hole","stat":"stat","value":"value"}/r{"id":1354075540949,"hole":"1" ,"stat":"score","value":"4"}/r{"id":1354075540949,"hole":"1","stat":"putts","value":"1"} /r{"id":1354075540949,"hole":"1","stat":"モミ","value":"y"}/r{"id":1354075540949,"hole":"1", "stat":"gir","value":"n"}/r"
最初の行は列名 (id、hole、stat、value) で、同じ値を指定します。/r で区切られた他のすべての行は、実際のデータです。
この文字列を /r で分割し、結果をループして、各要素の JSON.parse() の結果を配列にプッシュします。これで、指定された構造 (id、hole、stat、価値)。「id」フィールドが大きな長い数値ではなく true または false になることを除いて、すべてが機能しています。なぜそれをしているのですか?
var tblData = localStorage.getItem(tblName).split("/r");
var data = new Array();
// fill the array
for (i = 1; i < tblData.length - 1; i++)
data.push(JSON.parse(tblData[i]));
[編集] これは機能しているようですが、この直後に実行する jQuery.grep() があり、id プロパティを true/false に設定しています。
var changeRecords = jQuery.grep(data, func);
func は次のとおりです。
function (v) { return v.id == gCurrentRoundID && v.hole == gCurrentHole; }
ただし、id を true/false に設定する理由がわかりません。
[編集2]
気にしないでください、私は自分のエラーを見つけました。上記の関数は正しいものではなく、v.id = gCurrentRoundID の等号が 1 つしかない関数があったため、true/false に設定していました。