将一个数组中的每个元素都去执行map中函数,不会改变原数组,并且返回一个新的数组。
不理解上面的有关map方法的概念没有关系,下面我们用实例带大家来理解map方法的使用
声明了一个arr的变量。然后将arr数组的每个元素都去执行map里面的函数x=>x*2
,并且返回了一个新的newArr
数组。原数组arr 依然是[1,3,5]
。这段代码成功的将arr数组的元素都乘了2。并且不影响arr数组。
var arr = [1,3,5]
var newArr = arr.map(x=>x*2)
console.log(newArr) //[2, 6, 10]
console.log(arr) // [1,3,5]
var arr = [2,9,16]
const newArr = arr.map(Math.sqrt)
console.log(newArr) //[1.4142135623730951, 3, 4]
console.log(arr) //[2,9,16]
img
标签的alt属性const elems = document.querySelectorAll('img');
const values = Array.prototype.map.call(elems, ({ alt }) => alt);
console.log(values) //['alt1','alt2']
var n = ['1','a','0.3']
var newn=n.map(parseInt)
console.log(newn) //[1, NaN, 0]
ASCLL
码var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
const map = Array.prototype.map;
const ascll = map.call(str, (x) => x.charCodeAt(0));
console.log(ascll) //[65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90]