2017-05-03 1 views
1

これは私のコードです。私は2,3日後にオブジェクトの配列を作成しようとしていますが、それをローカルストレージに保存します。ここに問題がある、私はまずローカルストレージから既存の値を取得する必要があります。オブジェクトを角2で配列化するにはどうすればよいですか?

次に、新しいデータオブジェクトを既存の配列に追加する必要があります。私はそれをJSONに変換して、ローカルのストレージに戻すことができます。

onRegisterSubmit(){ 
    const user = { 
     a: this.a, 
     b: this.b, 
     c: this.c, 
     id: Date.now() 
    }  

    var abc = []; 
    var get = JSON.parse(localStorage.getItem('user')); 
    abc = [get]; 
    abc.push(user); 

    localStorage.setItem('user', JSON.stringify(abc)); 

    console.log(JSON.stringify(abc)); 
    console.log(get); 
    } 

私はこれが私のJSONある

[{"hour":1,"minute":21,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493797882440"},{"hour":1,"minute":24,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493797896257"},{"hour":6,"minute":14,"ampm":"PM","repeatDays":[],"message":"","todayOrTomorrow":"Tomorrow","isRepeatMode":false,"isEnabled":false,"id":"1493815470408"}] 

、JSONは、このようなオブジェクトの配列になりたいです。

[[[[[[[{"id":1493820594019},{"id":1493820606448}],{"id":1493820609111}],{"id":1493820610150}],{"id":1493820610553}],{"id":1493820610827}],{"id":1493820611015}],{"id":1493820612018}] 

お願いします。数日間お試しいただき、助けていただければ幸いです。ありがとうございました!

+0

*あなたが望むように動作するのではなく、何が起こるのですか?* – nitind

+0

@nitindを取得しません。 –

+0

どのようなエラーメッセージが表示されますか。 – nitind

答えて

1

あなたがに呼び出しごとに自分の価値観を入れ子に保つ:

abc = [get]; 

でそれを置き換えます

abc = get; 

、それは

+0

これはabc.pushが関数ではないというエラーを返します。 –

+0

デバッグしてどのような種類のものを入手できますか? – Meir

0
var abc = []; 
var get = JSON.parse(localStorage.getItem('user')); 
abc = [get]; 

に置き換える必要があります動作するはずです
var abc = JSON.parse(localStorage.getItem('user')) || []; 

localStorage.deleteItem('user');を実行して、訂正されたコードを実行する前に間違ったコードによって格納された間違ったデータを消去することを忘れないでください。

関連する問題