map和解构
Map:
<script>
//创建map的两种方式
var map1 = new Map; //无参 ,空的map
console.log(map1); //Map(0) {size: 0}
var arr = [[1,2],[3,4]];
var map2 = new Map(arr) //用二维数组创建一个map
console.log(map2); //Map(2) {1 => 2, 3 => 4}
//map对应的方法 增删改查
//查询 get
console.log(map2.get(1)); //通过key来获得value
//添加的方法 set 传入key 和value;
map2.set('hello','张三')
console.log(map2);//Map(3) {1 => 2, 3 => 4, 'hello' => '张三'}
console.log(map2.get('hello')); //张三
//属性 size属性
console.log(map2.size); //3
//删除的方法 通过key来删除
map2.delete(3);
console.log(map2);//Map(2) {1 => 2, 'hello' => '张三'}
//重新设置就是修改
map2.set('hello','李四');
console.log(map2);//Map(2) {1 => 2, 'hello' => '李四'}
//获取key 获取value 获取键值对
console.log(map2.keys()); //MapIterator {1, 'hello'}
console.log(map2.values()); //MapIterator {2, '李四'}
console.log(map2.entries()); //MapIterator {1 => 2, 'hello' => '李四'}
//清空所有
// map2.clear();
// console.log(map2); //Map(0) {size: 0}
// forEach value key map
map2.forEach((value,key,map) => {
console.log(value); //2 李四
});
//has 判断是否存在 判断key
console.log(map2.has('hello')); //true
</script>
解构:
对象解构是一种有用的JavaScript功能,可以从对象中提取属性并将其绑定到变量。
可以读取属性并将其值分配给变量,而无需重复属性名称,还可以在一个语句中读取同一对象的多个属性!
<script>
var obj = {username :'jack',password:'123'}
//解构取出数据
//obj.username
//obj.password
//解构来取 (通过key来解构对应的obj) {key} = {key : 123}
var { password,username} = obj;
console.log(username);//jack
console.log(password); //123
//快速提取对象里面数据
var {age} = {age :18}
console.log(age);//18
//解构取数组里面的内容 按照位置来取对应的值 不常用
var [o,p] = ['a','b']
console.log(o); //女
//快速读取值
var {sex} = {username:'jack',password:"123",age:'18',sex:"女"}
console.log(sex);
//扩展运算符 ...
var arr = [1,3,5]
var arr1 = [2,4,6]
console.log(...arr);//解除数组的包装 把他暴露出来1 3 5 数值
//如果你的方法里面需要,隔开他会默认给你叫一个,
console.log( 'abc'.concat(1,2,3,4,5)); //abc12345
// console.log( 'abc'.concat(1 2 3 4 5)); 报错
console.log( 'abc'.concat(...arr,...arr1)); //默认加上, abc135246
console.log('abc'.concat(arr,arr1));//abc1,3,52,4,6
</script>
浙公网安备 33010602011771号