JavaScript の質問用スレッド vol.126 (308レス)
上下前次1-新
196(2): (ワッチョイ 3fd8-HeGF [240b:11:92e0:d400:*]) 2024/06/09(日)04:17 ID:7bXOQjjM0(1/2) AAS
お願いします。
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後には削除されている期待通りの結果になるのですが
どんな理屈なのかわかりません。
初歩的な質問で申し訳ありませんが教えてください
上下前次1-新書関写板覧索設栞歴
あと 112 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.004s