お願いします。
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後には削除されている期待通りの結果になるのですが
どんな理屈なのかわかりません。
初歩的な質問で申し訳ありませんが教えてください
JavaScript の質問用スレッド vol.126
196デフォルトの名無しさん (ワッチョイ 3fd8-HeGF [240b:11:92e0:d400:*])
2024/06/09(日) 04:17:47.61ID:7bXOQjjM0レスを投稿する
