[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
587
(3): デフォルトの名無しさん (ワッチョイ 3f3d-/16g [133.32.132.49 [上級国民]]) [sage] 2023/01/15(日) 15:02:28.33 ID:yvxMece60(1/2) AAS
よろしくお願いします

【環境】Win11,Chrome
【何をしたのか】下記コードをHTMLファイルにしてchromeで読み込ませて、コンソールで見た
JSONのItemsを一個追加して、追加したageだけ書き換えたいが、両方書き換わる
【エラーメッセージ】エラーメッセージはない
【期待する結果】Itemsの2個めのageだけが40になるはず
【サンプルコード】現象を再現可能な最小限のコードを書いてください。

<script>
json =
{
"color_list": [ "red", "green", "blue" ],
"Items": [
{ "name": "Tanaka", "age": 26 },
]
}
data0=json["Items"][0]

json["Items"].push(data0)

console.log("before");
console.log(json["Items"][0]["age"]);
console.log(json["Items"][1]["age"]);

json["Items"][1]["age"]=40

console.log("after");
console.log(json["Items"][0]["age"]);
console.log(json["Items"][1]["age"]);
</script>

結果
before
26
26
after
40
40
590: デフォルトの名無しさん (ワッチョイ 3f3d-/16g [133.32.132.49 [上級国民]]) [sage] 2023/01/15(日) 15:22:38.08 ID:yvxMece60(2/2) AAS
>>588,589
588(1): デフォルトの名無しさん (ワッチョイ cfcf-7DGa [153.174.224.39]) [sage] 2023/01/15(日) 15:12:37.19 ID:XTiaoq8f0(1/2) AAS
>>587
そのコードで、参照がコピーされているので
data0={...json["Items"][0]}
とすればいい
589(1): デフォルトの名無しさん (ワッチョイ a361-1Ylv [222.144.108.11]) [sage] 2023/01/15(日) 15:18:59.77 ID:iV9MAA6y0(2/3) AAS
>>587
外部リンク:developer.mozilla.org
できましたありがとうございます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.038s