一: Map方法
/* ====================================Map方法====================================================== */
// 类对象
// 和对象的区别是:对象的键一定是字符串,Map的键可以说任意类型
let arr1 = [
['name','李白'],
['职业','诗人'],
[false,'是布尔值'],
[[],'是数组']
]
let m = new Map(arr1)
// console.log(m) // Map { 'name' => '李白', '职业' => '诗人', false => '是布尔值', [] => '是数组' }
for (let [key,value] of m) { // 第一个参数是键,第二个是值
// console.log('键:',key)
// console.log('值:',value)
}
注意:
- Map的方法:
map.has(keyStr)
是用来判断map中是否存在属性keyStr
,返回值是布尔值map.set(keyStr,itemVal)
,keyStr
是属性,itemVal
是值,把itemVal
存放到map中map.delete('keyStr')
,删除key
为keyStr
的数据map.get('keyStr')
,获取key
为keyStr
的数据map.values()
,获取map
值得集合,通过[...map.values()]
可以值的集合返回给数组
- Map与普通对象的区别
Map
属性可以是任意值,普通对象只能是字符串Map
区分字符'a'
和字母a
,普通对象不区分,后面的值会把前面的值覆盖
// 普通对象 let obj = { a: '我是字母a', 'a': '我是字符串a', 1:'普通员工', 2: '老板', 1: '管理员', '2': 'VIP客户' } console.log(obj) //{1: "管理员",2: "VIP客户",a: "我是字符串a"}
map.set(a,'我是字母a')
会报错,需要改成map.set('a','我是字符串a')
二:Set()方法
/* ====================================Set方法====================================================== */
// 类数组
// 和数组的区别是:数组是[]包围,Set是{}包围,并且成员唯一
let arr2 = [1,2,3,2,4,2,3,5]
let s = new Set(arr2)
// console.log(s) // Set { 1, 2, 3, 4, 5 }
// 实例1:求交集
let temp21 = [1,2,4,2,3,1,5]
let temp22 = [1,4,4,2,10,1,9]
function bothHas(temp21,temp22) {
let tempArr21 = new Set(temp21)
let tempArr22 = new Set(temp22)
return Array.from(tempArr21).filter(item => {
return tempArr22.has(item)
})
}
// 实例2:求差集
function unBothHas(temp21,temp22) {
let tempArr21 = new Set(temp21)
let tempArr22 = new Set(temp22)
return Array.from(tempArr21).filter(item => {
return !tempArr22.has(item)
})
}
console.log('data2==',bothHas(temp21,temp22))
console.log('data3==',unBothHas(temp21,temp22))
注意:
- Set的方法:
set.add(val)
,添加值set.delete(val)
,删除值set.has(val)
,判断是否有val
值
- Set的属性:
set.size
返回集合所包含元素的数量
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!