1. ホーム
  2. ジャバスクリプト

[解決済み】オブジェクトに要素を追加する

2022-04-17 22:33:25

質問

私はjsonファイルを入力する必要があります、今私は次のようなものを持っています。

{"element":{"id":10,"quantity":1}}

そして、もう一つ"element"を追加する必要があります。私の最初のステップは、そのjsonを cart = JSON.parse そして、新しい要素を追加する必要があります。 私は cart.push を追加するために、次のようにしました。

var element = {};
element.push({ id: id, quantity: quantity });
cart.push(element);

を実行しようとすると、エラー "Object has no method push" が発生します。 element.push というのも、私はどこにも "element" を伝えていないからです。

どうすればいいのでしょうか?

編集してください。 申し訳ありませんが、私の頭の中は混乱していました。

からデータを取得する場合、オブジェクト型しか取得できないと思っていました。 JSON.parse しかし、私は最初にJSONに入れたものを取得します。

オブジェクトの代わりに配列を置くと、私の問題は解決しました。

どのように解決するのですか?

要素は配列ではありませんが、多くの要素オブジェクトをサポートするために、カートは配列である必要があります。コード例です。

var element = {}, cart = [];
element.id = id;
element.quantity = quantity;
cart.push(element);

cartをオブジェクトの配列にしたい場合は、以下のような形になります。 { element: { id: 10, quantity: 1} } であれば、実行します。

var element = {}, cart = [];
element.id = id;
element.quantity = quantity;
cart.push({element: element});

JSON.stringify() は、コメントの中で懸念事項として挙げられていました。

>> JSON.stringify([{a: 1}, {a: 2}]) 
      "[{"a":1},{"a":2}]"