map不会改变原数组指的是 const arr = [{v: 1},{v: 2}] const arr_new = arr.map(v => v) arr_new.push({ v: 3 }) console.log(arr) 你都写了句`item.name = 'dd'`,这还不改变? * * * 给你举个简单明了的例子吧. 你把旧钱包(arr)每一张钞票(item)都换到新钱包(new_arr). 之后你再给新钱包(new_arr)塞一张钞票进去. 旧钱包不会有改变. * * * 你贴的代码的意思是 你把旧钱包(arr)每一张钱(item)都换个新钱包(new_arr)的时候, 在每张钞票上画了一朵叫做name的小花 * * * > > ps.防钻牛角尖指南,用现实的钞票举例子不太合适,毕竟现实里的同一张钞票没办法同时存在两个钱包里,理解这个问题的时候,你就当同一张钞票可以同时存在两个钱包里吧