0

私は小さな召喚数学ゲームを作成しました。ここでは、各リスト項目に異なる番号を持つ9つのリスト項目を作成し、ページがリロードされるたびに値が変更されます(ランダム値は毎時発生します)。

ユーザーは、目標を達成するためにリスト項目をクリックする必要があります。たとえば、目標を達成するのが 7 であると仮定すると、ユーザーは 5 と 2 または水ごとにクリックして 7 を達成します。

今、私がやりたいことは、目標を達成したときにそれをローカルストレージに保存し、次にユーザーがそれを再起動して新しい値を達成したときに、それもローカルストレージに保存したいと考えているので、保存するポイントは何ですかユーザーが目標を達成するたびに、ローカルストレージ内の配列形式のデータ。

これは、値を合計して現在の値に格納する data_stack 配列です。そのため、この currentval を毎回配列にプッシュしたいと考えています。ここで私を助けてください

var currentval =  eval(data_stack.join('+'));
console.log(currentval);
4

1 に答える 1

1

キー/値のローカル ストレージ (別名Web ストレージ) は、文字列のみを受け入れます。ただし、JSON で配列をエンコードして JSON を保存することはできるので、配列を取得するときにデコードして配列に戻すだけです。

配列を JSON として保存する:

// data_stack is an array
// store as JSON
localStorage.setItem('data_stack', JSON.stringify(data_stack));

JSON を取得してデコードする:

var raw = localStorage.getItem('data_stack');
if(raw !== null) {
    var data_stack = JSON.parse(raw);
    // now you can push to data_stack or whatever
    data_stack.push('xyz');
}
于 2013-07-08T09:55:36.410 に答える