箭头函数 | |||||
---|---|---|---|---|---|
变量名=参数=>函数体 箭头函数调用函数 //rest 参数 //...变量名 //...扩展运算符 数组的扩展 不传; var f=()=>"11"; f();
//参数为空 //对象(由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号。)
|
SET |
---|
类似数组 成员是唯一的(重复的值 ) set本身是一个构造函数,有对应的方法和属性 //成员总数 arr5.size;//3 delete()删除 返回布尔值 has()是否会存在 返回布尔值 判断是否为set成员 clear()清除所有的set成员,没有返回值 转换为数组
上面代码说明, 另外, |
//key()键的值
//values()值
//entries 键值对
const arr8=new Set(['a','b','c']);
for(var list of arr8.keys()){
console.log(list);// a b c
}
for(var list of arr8.values()){
console.log(list);// a b c
}
for(var list of arr8.entries()){
console.log(list);//['a','a'] ['b','b']['c','c']
}
//合并
let a=new Set(['a','b','c','d']);
let b=new Set(['a','e','f']);
let c=new Set([...a,...b]);
//交集 |
let arr1=new Set(['a','b','c']);
let arr2=new Set(['a','d'.'e']);
let arr3=new Set([..arr1].filter(x=>arr2.has(x)))
MAP(对象) 键值对的集合 |
---|
它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。
上面代码使用 Map 结构的set 方法,将对象o 当作m 的一个键,然后又使用get 方法读取这个键,接着使用delete 方法删除了这个键。
上面的例子展示了如何向 Map 添加成员。作为构造函数,Map 也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组。
上面代码对键
const m=new Map([['x',1],['y',2],['z',3]]); [...m];//转换成数组 let m1=new Map([...m]);//转换成Map m1 Map转换成对象 const m=new Map([['x',1],['y',2],['z',3]]); let obj={}; for(let[k,v] of m){ obj[k]=v; } console.log(obj);//{x: 1, y: 2, z: 3}
Map 结构转为数组结构,比较快速的方法是使用扩展运算符( |
扩展 |
---|
//字符串扩展 var str="hello world"; // str.substring(1,4); // str.substr(1,4); // str.indexOf(1,4) str.startWith("hello",3);//字符串是否在头部,从下标为3的位置开始查找 str.endsWith("hello",3);//字符串是否在尾部 str.includes("o");//是否存在字符串 str.repeat("2");//重复N次 //补全 var s='s'; s.padStart(4,'xy');//xyxs s.padEnd(4,'xy');//sxyx //如果长度大于要 补全的长度,就不会有操作 var s1='s22211'; s1.padStart(4,'xy');//s22211 //模板字符串 $(".list").html('<li>'+item.name+'</li>'); $(".list").html(`<li>${item.name}</li>`); $(result).each(function(index,item){ $(".list").html(`<li>${item.name}</li>`); }) $(result).each((index,item)=>{ $(".list").html(`<li>${item.name}</li>`); }) //数值的扩展 //Number.parseInt(); //Number.parseFloat(); //函数扩展 //ES5 function fun(x,y){//分页 如果sessionStorage有记录则取那一条,否则每页10条数据 y=y||'10'; console.log(x,y); } fun=(x,y)=>{ y=y||'10'; console.log(x,y); } fun(1,2) //ES6 function fun(x,y="10"){//分页 如果sessionStorage有记录则取那一条,否则每页10条数据 console.log(x,y);
|