JavaScript の質問用スレッド vol.126 (307レス)
JavaScript の質問用スレッド vol.126 http://mevius.5ch.net/test/read.cgi/tech/1702111239/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
196: デフォルトの名無しさん (ワッチョイ 3fd8-HeGF [240b:11:92e0:d400:*]) [] 2024/06/09(日) 04:17:47.61 ID:7bXOQjjM0 お願いします。 let test = [{id: 1,name: '太郎'},{id: 2,name: '二郎'},{id: 3,name: '三郎'}]; console.log(test); //forEach実行前 test.forEach((value) => { delete value.id; }) console.log(test); //forEach実行後 これを実行してlogを見ると 0:{name: '太郎'} 1:{name: '二郎'} 2:{name: '三郎'} forEach実行後だけでなく実行前の値もオブジェクトのidプロパティが削除されていたのですが理屈がわかりません。 試しに配列ではなくて配列の中のオブジェクトをconsole.logで調べると let test = [{id: 1,name: '太郎'},{id: 2,name: '二郎'},{id: 3,name: '三郎'}]; console.log(test[0]); test.forEach((value) => { delete value.id; }) console.log(test[0]); forEach前のオブジェクトにはidプロパティが存在して forEach後には削除されている期待通りの結果になるのですが どんな理屈なのかわかりません。 初歩的な質問で申し訳ありませんが教えてください http://mevius.5ch.net/test/read.cgi/tech/1702111239/196
200: デフォルトの名無しさん (ワッチョイ 3f12-HeGF [240b:11:92e0:d400:*]) [] 2024/06/09(日) 06:13:08.40 ID:7bXOQjjM0 >>198 ありがとうございます。 参照渡しがメモリ上のアドレスを参照してるのは知っていたのですが 初めのconsole.logをした時点ではまだ値を変更していないのに なぜ変更後の値が表示されるのか理屈が分かりませんでした >>197>>199 一度テキストに書いたものを貼ったので^^;お手数をおかけました コンソール表示の仕様ですか、なんとなくですが納得できました 丁寧にありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1702111239/200
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s