扫码关注官方订阅号
js的map方法一般什么情况下用?会有兼容性问题吗?
map 映射的意思,也就是原数组被“映射”成对应新数组。
var data = [1, 2, 3, 4]; var arrayOfSquares = data.map(function (item) { return item * item; }); console.log(arrayOfSquares);
比如上面的代码, 就是对数组里的数值求平方
兼容性, ie9+
(手机码字如果格式乱了请见谅…)语法:array.map(callback, [thisArg])
array.map(callback, [thisArg])
map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值组合起来形成一个新数组。如果 thisArg 参数有值,则每次 callback 函数被调用的时候,this 都会指向 thisArg 参数上的这个对象。如果省略了 thisArg 参数,或者赋值为 null 或 undefined,则 this 指向全局对象 。
简单来说,当你需要对数组内所有元素使用同一种运算时就可以用map来做了,但是注意,map()是返回一个新数组,原数组并不会发生变化。比如,求数组平方根:
var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); /* roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]*/
以上内容参考MDN里的map方法说明,更多详细内容见Array.prototype.map()-JavaScript|MDN,楼主问的兼容性问题里面也有详细说明,这里就不贴了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
map 映射的意思,也就是原数组被“映射”成对应新数组。
比如上面的代码, 就是对数组里的数值求平方
兼容性, ie9+
(手机码字如果格式乱了请见谅…)
语法:
array.map(callback, [thisArg])简单来说,当你需要对数组内所有元素使用同一种运算时就可以用map来做了,但是注意,map()是返回一个新数组,原数组并不会发生变化。
比如,求数组平方根:
以上内容参考MDN里的map方法说明,更多详细内容见Array.prototype.map()-JavaScript|MDN,楼主问的兼容性问题里面也有详细说明,这里就不贴了。