map (键值对形式 键可以是任意类型 值也可以是任意类型)
// map是一个键值对 键可以是任意类型 值也可以是任意类型 let map = new Map() console.log(map); // map在构建的时候 如果需要传递参数 那么也可以传递一个数组 但是这个数组必须是二维数组 var arr = [[1,2],[3,4],[5,6]] let arrMap = new Map(arr) console.log(arrMap); // 添加数据使用set方法 var keyObj = {age:18} var valueObj = {name:'jack'} map.set(keyObj,valueObj) console.log(map); //获取 get获取 通过键获取值 console.log( map.get(keyObj)); //删除方法 delete 根据key来删除值 // map.delete(keyObj) //重复添加key 覆盖之前 就相当于改值 map.set(keyObj,'hello') //删除所有 clear清空 // map.clear() //也存在has方法 判断有没有这个键 console.log(map.has(keyObj)); console.log(map); //map也是个arrayLike 他也具备 keys values entries这个几个方法 //将map转为数组 把键和值分别都作为一个数组元素存储 var mapArr = Array.from(map) console.log(mapArr);//长度为2
解构 解除构造(打开获取里面匹配的内容)
// 解构 解除构造 打开拿到里面的内容 解构不成功结果是undefined var arr = [1,[2,3],4] //原本的写法 var [a,[b,c],d] = [1,[2,3],4] //1对应a 2对应b 3对应c 4对应d 将arr这个构造解除了 //对象的 var obj = {x:10,y:20} var {x,y} = {x:10,y:20} //解构 相当于把x y所属的对象打开了 进行1对1赋值 将obj这个构造解除了 function func(arr){return arr[0] - arr[1]} //对于函数的参数进行解构 解构是一个数组 console.log( func([19,11]) ) //函数的解构 function func([x,y]){return x - y} //对于函数的参数进行解构 解构是一个数组 console.log( func([19,11]) ) function fn([x,y]){ console.log(x); } fn([1,2])//打印1 //快速遍历json数据 var {name} = {name:'jack',age:18,sex:'男'}//name是不是会匹配对应的name console.log({name});//直接name:jack //快速交换位置