2017-10-29 7 views
0

私は入ってくるjson文字列を解析し、新しい オブジェクトをそれにプッシュしようとしています。入ってくるjson文字列に新しいオブジェクトを追加します。

私はこのようにそれを試してみた:

addSetting(category) { 
    console.log(category.value); //Console.log = [{"meta":"","value":""}] 
    category.value = JSON.parse(category.value).push({meta: "", value: ""}); 
    console.log(category.value); //Console.log = 2 
}, 

問題はcategory.value2であるということですか?私は2つのjsonオブジェクトを期待するだろうか?私はここで間違って何をしていますか?

+1

この 'category.value = JSON.parse(category.value).push({meta:"、value: "}});で行っていることは、単純に' pushの戻り値を代入していますこれまでは存在しなかった 'category.value'への'操作。 –

答えて

1

試してください:あなたは間違ってpush()を使用している

addSetting(category) { 
category.value = JSON.parse(category.value); 
category.value.push({meta: "", value: ""}); 
console.log(category.value); 
} 

。配列関数push()は、新しい配列のサイズを返します。

戻り値

方法を 呼び出された時のオブジェクトの新しいlengthプロパティ。

REF:Array.prototype.push() MDN

あなたの配列の新しいサイズは、次の行が間違っていた(新しい要素をプッシュした後)2なように:JSONを解析された

category.value = JSON.parse(category.value).push({meta: "", value: ""}); 

として後、変数category.valueにpushの戻り値が割り当てられました。

関連する問題