7.构造函数(array的拓展)
将类数组或遍历对象转换为真正的数组
let arrayLike={
'0':'a';
'1':'b';
'2':'c';
length:3;
}
let arr2=array.from(arrayLike);//['a','b','c']
接受第二个参数,作为类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
let arrayLike={
'0':'1';
'1':'2';
length:2;
}
let ary=array.from(arrayLike,item=>item*2);
find()用于找出第一个符合条件的数组成员,如果没有找到返回undefined
let ary=[{
id:1;
name:'张三';
},{
id:2,name:'李四'}];
let target=ary.find(item=>item.id==2);
console.log(target)
findindex()用于找出第一个符合条件的数组成员的位置,如果没有找到返回-1
let ary=[10,20,30];
let index=ary.findindex(item=>item>15);
console.log(index)//1
includes()表示某个数组是否包含给定的值,返回布尔值。
let ary=["a","b","c"];
let result=ary.includes('a');
console.log(result)//true
let result=ary.includes('e');
console.log(result)//false
8.String的扩展方法
模板字符串
let name='张三';
let sayhello='hello,我的名字是${name}';
console.log(sayhello)
模板字符串中可以换行
let result={
name="zhangsan";
age=20;
let html='<div>
<span>${
result.name}</span>
<span>${
result.age}</span>
</div> ';
console.log(html);
模板字符串调用函数
const sayHello=function(){
return'哈哈哈 打不过我吧,我就那么强大';
};
let greet='${sayHello()} 哈哈哈哈';
console.log(greet);//哈哈哈 打不过我吧,我就那么强大 哈哈哈哈
startsWith()和endsWith()
let str='Hello Ecmscript 2020';
let r1=str.startsWith('Hello');
console.log(r1)//true
let r2=str.startsWith('2020');
console.log(r2)//true
repeat()方法表示将原字符串重复n次,返回一个新的字符串
console.log("y".repeat(5))
9.Set数据结构
const s1=new set();
console.log(s1.size)//0
const s1=new set(["a","b"]);
console.log(s2.size)//2
const s1=new set(["a","b","a","b"]);
console.log(s3.size)//2
const ary=[...s3]
console.log(ary)//数组去重
const s=new set();
s.add(1).add(2).add(3); //向set结构添加值
s.delete(2) //删除set结构中的2值
s.has(1) //表示set结构中是否有1这个值 返回布尔值
s.clear() //清除set结构中的所有值
set结构的实例和数组一样,拥有forEach方法,用于每个成员执行某种操作,没有返回值
const s5=new set(['a','b','c']);
s5.forEach(value=>{
console.log(value)
})
padStart(),padEnd()
字符串补全长度功能,padStart()用于头部补全,padEnd()用于尾部补全。
//padStart()
'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
//padEnd()
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'