当Array中存储的元素 item 为基本数据类型时,对 item 的修改不会影响原数组
let s = [1,2,3]
s.some(item => {item = 1})
s // [1,2,3]
当 item 为对象亦或是数组时 ,item直接指向其地址,
let s = [
{a:123},
{a:456},
{a:789}
]
s.some(item => {item.a = 1})
s // [{a:1},{a:1},{a:1}]
原数组被修改
本文探讨了JavaScript中数组和对象作为元素时,对于基本数据类型和引用数据类型的修改行为。当元素是基本类型时,修改不会影响原数组;而当元素是对象或数组时,由于引用的是内存地址,修改会导致原数组变动。了解这一行为对于避免意外修改至关重要。
当Array中存储的元素 item 为基本数据类型时,对 item 的修改不会影响原数组
let s = [1,2,3]
s.some(item => {item = 1})
s // [1,2,3]
当 item 为对象亦或是数组时 ,item直接指向其地址,
let s = [
{a:123},
{a:456},
{a:789}
]
s.some(item => {item.a = 1})
s // [{a:1},{a:1},{a:1}]
原数组被修改

被折叠的 条评论
为什么被折叠?