ES6中map遇到的问题分享
程序员文章站
2024-01-28 17:35:46
今天在做一个时间处理的时候用到了foreach ,然后就想说能不能用map来遍历 然后发现了这么个东西
很多介绍map的教程是这么说的
const integers = [...
今天在做一个时间处理的时候用到了foreach ,然后就想说能不能用map来遍历 然后发现了这么个东西
很多介绍map的教程是这么说的
const integers = [1, 2, 3, 4, 6, 7]; const twoXIntegers = integers.map(i => i*2); // twoXIntegers are now [2, 4, 6, 8, 12, 14] // integers数组并不会受到影响
事实确实如此,打印出来integers数组并没有改变,
但是 下面这个情况就不一样
let b = [{"time":1},{"time":"2"}] //[{"time":21},{"time":"3"}]
let newb = b.map(a=>a.time=a.time+1) // [2,3]
当遍历的数组的是简单数据类型的时候原数组不变,当遍历的是对象等复杂数据类型的时候原数组改变,同时只返回value 不返回key(原因应该和内存有关,数据结构没学好忘了先存着)