标签:组成 传参 布尔值 两种 OLE pre 总结 方法 扩展运算
目录
含义:扩展运算符是三个点(...),作用是将数组转换为用逗号分隔的参数序列
console.log(1,...[2,3,4],5);
//等价于
console.log(1,2,3,4,5);
用法:
function func(a,b,c,d,e){}
//调用
func(1,...[2,3],4,...[5])
func(1,...(x > 0 ? [2,3,4,5] : [6,7,8,9]))
扩展运算符的应用
const a1 = [2,3,4];
//如下两种方式都可以实现数组的复制
const b1 = [...a1];
const [...b2] = a1;
const a1 = [1,2,3];
const a2 = [4,5,6];
const b1 = [...a1,...a2];
let [a,...list] = [1,2,3,4,5,6];
let [a,...nums,c] = [1,2,3,4,5]; //报错
[...'hello'] //['h','e','l','l','o']
Array.from用于将两类对象转化为真正的数组
任何有length属性的对象, 都可以通过Array.from转换为数组
如果参数是一个数组,Array.form会返回一个一模一样的新数组
如果参数是一个字符串,Array.from方法会将字符串拆分为字符数组
Array.from还可以接受第二个参数,类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组
Array.from(arrList,x => x * x);
//等价于
Array.from(arrList).map(x => x * x)
Array.from(...[1,2,3],x => x * x);
// ----> [1,4,9]
用于将一组值,转换为数组
如果没有参数,则返回一个空数组
Array.of(); // []
Array.of(1); // [1]
Array.of(1,2,3); //[1,2,3]
find方法用来找出数组中一个符合条件的元素,参数是一个回调函数
[1,2,3,4,5].find(n => n > 1); // 2
findIndex方法返回第一个符合条件的数组成员的位置,参数是一个回调函数
[1,2,3,4,5].findIndex(n => n > 0) //返回0,即第一一个符合条件元素的下标
用指定的值,填充数组
fill方法还可以拥有第二个和第三个参数,用来指定开始位置和结束位置
[1,2,3].fill(7); //[7,7,7]
[1,2,3,4,5].fill(8,0,3) //[8,8,8,4,5]
entries用来遍历键值对
keys用来遍历键名
values用来遍历值
可用for...of来进行循环遍历
for(let index of ['a','b'].keys()){
console.log(index);
}
for(let ele of ['a','b'].values()){
console.log(ele);
}
for(let [index,ele] of ['a','b'].entries()){
console.log(index,ele);
}
数组的includes方法用来某个数组是否包含给定的值,返回布尔值
该方法的第二个参数表示搜索的起始位置
[1,2,3].includes(3); //true
[1,2,3].includes(1,1); //false
flat函数用于将嵌套的数组拉平,变成一维数组
[1,2,[3,4,5]].flat(); // [1,2,3,4,5]
flat默认只会拉平一层内嵌数组,可通过传参的方式制定拉平的层数,参数默认为1
不管多少层嵌套,可以通过传入 Infinity关键字作为参数,统一转为一维数组
数组实例的copyWithin方法,用来在当前数组内部,将指定位置的成员复制到其他位置,然后返回当前数组
它接受三个参数
[1,2,3,4,5].copyWithin(0,3); //[4,5,3,4,5]
标签:组成 传参 布尔值 两种 OLE pre 总结 方法 扩展运算
原文地址:https://www.cnblogs.com/mapengfei247/p/11116727.html