欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ES6中map遇到的问题分享

程序员文章站 2022-05-28 14:06:03
今天在做一个时间处理的时候用到了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(原因应该和内存有关,数据结构没学好忘了先存着)