作用
是一个数据集合,是一个很类似于对象Object的数据集合
Map存储的数据也是key/value形式, key可以是任意类型
Object的key只能是字符串
Object回顾
Object对象属性名是字符串类型, 值可以任意类型
function test1() {
let obj = {
name: 'jack',
age: 18,
say: function () {},
}
}
size,看map里面有几个元素
<script>
let map=new Map([
['name','jack'],
[100,18],
])
console.log(map)
console.log(map.size)
</script>
set添加元素
<script>
let map=new Map([
['name','jack'],
[100,18],
])
console.log(map)
console.log(map.size)
</script>
get获取元素
<script>
let map=new Map([
['name','jack'],
[100,18],
])
console.log(map)
console.log(map.get('name'))
</script>
delete删除元素
<script>
let map=new Map([
['name','jack'],
[100,18],
])
map.delete('name')
console.log(map)
</script>
has判断map里面是否有数据
<script>
let map=new Map([
['name','jack'],
[100,18],
])
map.delete('name')
console.log(map)
let isHas=map.has('name')
console.log('isHas',isHas)
</script>
map无需遍历
查找存储在map中的数据,可以不用遍历,根据key直接获取
value = map.get(key)
<script>
let map=new Map([
['name','jack'],
[100,18],
])
let name=map.get('name')
console.log(name);
</script>
foreach遍历
<script>
let arr = [
{ name: '钢筋', value: 11 },
{ name: '水泥', value: 12 },
{ name: '混凝土', value: 13 },
{ name: '加气砖', value: 14 },
]
//传统遍历foreach
arr.forEach(item=>{
if(item.value==12){
console.log(item.name)
}
})
</script>
find遍历
<script>
let arr = [
{ name: '钢筋', value: 11 },
{ name: '水泥', value: 12 },
{ name: '混凝土', value: 13 },
{ name: '加气砖', value: 14 },
]
//find查找第一个满足条件的值
let item=arr.find(item=>item.value==12)
console.log(item.name);
</script>
数组转map再使用map方法
<script>
let arr = [
{ name: '钢筋', value: 11 },
{ name: '水泥', value: 12 },
{ name: '混凝土', value: 13 },
{ name: '加气砖', value: 14 },
]
let map=new Map()
arr.forEach(item=>{
map.set(item.value,item.name)
})
console.log(map.get(11));
</script>