Map数据类型
相当于python中的字典类型,是一组键值对数据类型,具有极快的查找速度。
var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined
运行结果如下:
{"Bob" => 59}
多次对一个key放入value,后面的值会把前面的值冲掉,值为最后一次赋的值;
map函数:(链接)
'use strict';
function pow(x) {
return x * x;
}
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var results = arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81]
console.log(results);
运行结果如下:
1,4,9,16,25,36,49,64,81
map函数传入的参数是函数名,map函数将arr中的每个元素,进行函数pow调用,将返回的值,生成一个新的array返回。map()作为高阶函数,事实上它把运算规则抽象了
一句代码实现,把Array的所有数字转为字符串:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.map(String); // ['1', '2', '3', '4', '5', '6', '7', '8', '9']
结果如下:
['1', '2', '3', '4', '5', '6', '7', '8', '9']
字符串转为Array
'use strict';
var arr = ['1', '2', '3'];
var r;
//r = arr.map(str => parseInt(str));//method one
r = arr.map(Number); //method two
console.log(r);
结果如下:
[1, 2, 3]
map和reduce的区别
网友评论