// Map()可以接收一个二维数组,二维数组中取arr[][0]为key,arr[][1]为value,多余的数组元素会被忽略
let map = new Map([[1,20]]);
console.log(map)
// Map(1) {1 => 20}
let map1 = new Map([[1,20,30]]);
console.log(map1)
// Map(1) {1 => 20}
// Map()可以接收null作为参数
let map2 = new Map(null);
console.log(map2)
// Map(0) {}
// Map()可以接收undefined作为参数
let map3 = new Map(undefined);
console.log(map3)
// Map(0) {}
let smap = new Map();
// set设置Map值
smap.set("one",1);
// get获取Map键对应的值
console.log(smap.get("one"))
// 应用场景
function eToC(str){
// 实例化一个Map
let wmap = new Map();
// 使用实例化的Map存储具有对应关系的数据
wmap.set("Mon","星期一");
wmap.set("Tue","星期二");
wmap.set("Wed","星期三");
wmap.set("Thur","星期四");
wmap.set("Fri","星期五");
wmap.set("Sat","星期六");
wmap.set("Sun","星期日");
// 根据查询字符串,返回对应数据
return wmap.get(str);
}
// 直接调用
console.log(eToC("Thur")); // "星期四"
// 获取当前时间后调用
let nowDate = (new Date()).toString();
console.log(nowDate)
let end = nowDate.indexOf(" ");
let week = nowDate.slice(0,end);
console.log(eToC(week)); // "星期三"
function ack(str){
let ack_map = new Map();
ack_map.set("你好","你好啊!");
ack_map.set("今天天气真不错","是啊,很适合出门!");
ack_map.set("吃饭了没","还没呢,你呢?");
ack_map.set("吃啦","我还有点事,先走了,拜拜!!");
ack_map.set("没吃呢","那赶快去吃吧,我还有点事,先走了,拜拜!!");
// 能匹配到就返回
if(ack_map.get(str)) return ack_map.get(str);
// 匹配不到就返回一个提示
else return "对不起,你说的话我听不懂"
}
console.log(ack('你好'))
// 出现次数
let data = [
{id: "2a0398605f1c160f0072498e5f4942e6", region: "茂名"},
{id: "9bf625a55f1c1616006bed846372e6e3", region: "电白"},
{id: "f47f682c5f1c163f008839ef2a343440", region: "茂名"},
{id: "3d23c0a05f1c1681008a5b3a0b8bb446", region: "茂名"},
{id: "f47f682c5f1c168c00883c273a954b1e", region: "茂南"},
{id: "08e51e265f1c16910070c8117bbe476c", region: "茂名"},
{id: "15d399db5f1c16ef0086f16b2a83a752", region: "茂名"},
{id: "08e51e265f1c1b340070e7675a7c02df", region: "茂名"},
{id: "9bf625a55f1c1b40006c0e721d7a7690", region: "高州"},
{id: "9bf625a55f1c1b44006c0e916570035a", region: "高州"},
{id: "3d23c0a05f1c1b52008a840d3b62a411", region: "高州"},
{id: "2a0398605f1c1b5600726d490bf434c9", region: "化州"},
]
// let result = {};
// data.forEach(function (ele, i) {
// if (result[ele.region] === undefined) {
// result[ele.region] = 1;
// } else {
// result[ele.region]++;
// }
// });
// console.log(result);
let result = new Map()
data.forEach(item => {
if (result.has(item.region)) {
let m = result.get(item.region)
m++
result.set(item.region, m)
} else {
result.set(item.region, 0)
}
})
// console.log(result.entries())
result.forEach(function (value, key, map) {
//value和key就是map的key,value,map是result本身
console.log(value)
console.log(key)
console.log(map)
});