1.扩展运算符(...)
将转换为数组,或展开数组
用法:...arr
例子:
1.展开数组
let arr=["apple","banana","orange"]
let arr="abc"
console.log(...arr)
2.转为数组
s(...e){
console.log(e) //[1,2,3]
}
this.s(1,2,3);
this.s({name:'lucy',age:"15"}); //[{name:'lucy',age:"15"}]
3.合并数组
let a = [1, 2, 3];
let b = [4, 5, 6];
a.push(...b);
4.数组查找最大值 let a = [1, 2, 3]; let b = Math.max(...a);
4.复制数组
1.普通复制
let a1=[1,2,3];
let a2=a1;
a2.push(4);
a2并不是a1的克隆,而是指向同一份数据的另一个指针。修改a2,会直接导致a1的变化
2.es5复制(a2改变不会导致a1改变)
let a1=[1,2,3];
let a2=a1.concat();
a2.push(4);
2.es6复制(a2改变不会导致a1改变)
let a1=[1,2,3];
let a2=[...a1];
a2.push(4);
或者:
[...a2]=a1;
2.Array.from()
将类数组转为真正的数组
类数组(有length就可以),arguments,可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)
用法:Array.from(a)
Array.from(a,s())
Array.from可以接受第二个参数,作用类似于数组的map方法,用 来对每个元素进行处理,将处理后的值放入返回的数组。
例子:
1.字符串转数组
let a="abd";
let b=Array.from(a);
b//["a", "b", "d"]
2.对象转数组(必须加length)
let arrayLike1 = {
"0": "lucy",
"1": "12",
"2": "女",
"3": "apple",
length: 3
};
let b = Array.from(arrayLike1);
3.from第二个参数 let arrayLike1 = ("123"); let b = Array.from(arrayLike1,item=>{ return item*2 });
3.Array.of()
用于将一组值,转换为数组 返回参数值组成的数组 用法:Array.of(arr) 例子: 1.转数组
let b = Array.of(123);
let b = Array.of(1,3);
作用:弥补数组构造函数Array()的不足。 参数个数的不同,Array()行为有差异 Array方法没有参数、一个参数、三个参数时,返回结果不一 样。
{
没有参数: Array() //[]
一个参数:Array(3) //[ , , ,]
二个参数:Array(3,2) //[ 3,2]
二个参数以上:Array(3,2,3) //[ 3,2,3]
}
3.find(),findIndex()
find():用于找出第一个符合条件的数,找到返回这个值,没有返回undfine findIndex():返回下标,没有返回-1; 用法:类似map()
例子:1.查找
let arrayLike =[1,2,3,6,9,6]
let b = arrayLike.findIndex(item=>{
return item>9;
})
作用:indexOf()不能识别NAN成员
4.fill()
使用给定值,填充一个数组
用法:fill(给定值,填充的起始位置,结束位置)
例子: 1.只有一个参数时:
['a', 'b', 'c'].fill(7, 1, 2)
fill方法,向原数组全部替换为7
2.两个参数时:
['a', 'b', 'c'].fill(7, 2)
fill方法从 2号位开始,向原数组填充 7,一直到末尾
3.三个参数时:
['a', 'b', 'c'].fill(7, 1, 2)
fill方法从 1 号位开始,向原数组填充 7,到 2 号位之前结束
5.keys(),entries(),values() 用于遍历数组 keys():获取下标
entries():获取键值对
values():获取键值
例子:
1.keys()
let arrayLike =["apple","res","yellow"]
let b = arrayLike.keys()
for(let i of b){
console.log(i)//0,1,2
}
2.entries()
let arrayLike =["apple","res","yellow"]
let b = arrayLike.entries()
for(let i of b){
console.log(i)// [0, "apple"], [1, "res"]
}
3.values()
let arrayLike =["apple","res","yellow"]
let b = arrayLike.values()
for(let i of b){
console.log(i)// apple, res
}