您现在的位置:首页 >> 前端 >> 内容

ES6中map遇到的问题分享

时间:2018/2/3 11:33:50 点击:

  核心提示:今天在做一个时间处理的时候用到了foreach ,然后就想说能不能用map来遍历 然后发现了这么个东西很多介绍map的教程是这么说的const integers = [1, 2, 3, 4, 6, 7...

今天在做一个时间处理的时候用到了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(原因应该和内存有关,数据结构没学好忘了先存着)

Tags:ES S6 6中 中M 
作者:网络 来源:qq_3965244