以下代码不会改变原数组:
<script> let a = [ { id: 0, name: 'e' }, { id: 1, name: 'h' } ] for(let item of a) { item = { id: 200, name: 'fox' } } console.log(a) </script>
以下代码可以改变原数组:
<script> let a = [ { id: 0, name: 'e' }, { id: 1, name: 'h' } ] for(let item of a) { item.id = 200 item.name = 'fox' } console.log(a) </script>
这一次将遍历放在函数中,发现还是可以改变原数组:
<script> let a = [ { id: 0, name: 'e' }, { id: 1, name: 'h' } ] function xxx(a) { for(let item of a) { item.id = 200 item.name = 'fox' } } xxx(a) console.log(a) </script>