最近补点自己半懂半不懂的知识!
Map数据结构:(对象的升级版)
const m = new Map();
const ma = new Map([
['name', 'zhangsan'],
['age', 10]
]);
ma.size // 2
ma.has('name') // true
ma.get('name') // "张三"
ma.delete('name')
ma.keys()
ma.values()
ma.entries()
ma.forEach()
map 转 数组
//法1:
//console.log(Array.from(map));
//法二:
console.log([...map]);
使用:
map先做一个集合。有点像查询表一样的。
通过map.has和map.get
去获取对应值或者有没有这个key。
减少循环。还贼方便。
var romanToInt = function(s) {
const map = new Map([
['I', 1],
['V', 5],
['X', 10],
['L', 50],
['C', 100],
['D', 500],
['M', 1000],
]);
num=0
var list=s.split('')
for(var i=0;list.length>i;i++){
if(map.get(list[i])<map.get(list[i+1])&&(i+1)<=list.length){
num=-(map.get(list[i]))+num
}else{
num=map.get(list[i])+num
}
}
return num
};