ES6数组新增API
名称 | 类型 | 简介 |
---|---|---|
of() | 静态方法 | 用于将一组值,转换为数组。注意跟Array的区别 |
from() | 静态方法 | 将两类对象转为真正的数组(arguments,元素集合) |
find() | 实例方法 | 用于找出第一个符合条件的数组成员 |
findIndex() | 实例方法 | 返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1 |
fill() | 实例方法 | 使用给定值,填充一个数组。可选开始索引和结束索引 |
copyWithin(targetIndex,[start],[end]) | 实例方法 | 在当前数组内部,将指定位置的成员复制到其他位置,然后返回当前数组 |
includes(data,[index]) | 实例方法 | 返回一个布尔值,表示某个数组是否包含给定的值,可选开始索引 |
1.Array.of()
用于将一组值,转换为数组
- 示例:
let arr1 = Array.of(1, 2, 3, 4, 5)
console.log(arr1) //[1,2,3,4,5]
let arr2 = Array.of(4)
console.log(arr2) //[4]
-
Array和Array of()的区别:
体现在传一个参数的时候
当Array传一个参数时,数组中的元素为empty;
当Array.of()传一个参数时,数组中的元素是传入的参数的值;
- Array
let arr0 = new Array(4); console.log(arr0);// [empty,empty,empty,empty]
- Array.of()
let arr2 = Array.of(4) console.log(arr2); //[4]
2.Array.form()
将两类对象(arguments,元素集合,自定义类数组[‘0’:100,length:1])转为真正的数组
- 示例:
//获取p标签
let pEles = document.getElementsByTagName('p');
console.log(pEles);
//遍历
Array.from(pEles).forEach(item => console.log(item));
//由此可以说明把元素的集合转为真正的数组
3.find()
用于找出第一个符合条件的数组成员,并且返回该数组元素
如果没有满足条件的数组元素该方法返回undefined
- 示例:
arr1=[1, 2, 3, 4, 5]
let num1 = arr1.find(function(item) {
return item > 1;
});
console.log(num1); //2
4.findIndex()
用于找出第一个符合条件的数组成员的索引值,并且返回该数组元素的索引值
如果没有满足条件的数组元素该方法返回-1
- 示例:
arr1=[1, 7, 9, 4, 5]
let num1 = arr1.findIndex(item => item > 9);
console.log(num1); //-1
let num2 = arr1.findIndex(item => item > 3);
console.log(num2); //2
5.fill()
给数组指定的索引,以指定值进行填充
//—第一个参数是填充的值
//—第二个参数是起始索引 默认值是0
//—第三个参数是结束的索引(不包含) 默认值是数组length
- 示例:
arr1=[1, 2, 3, 4, 5]
console.log(arr1); //[1, 2, 3, 4, 5]
arr1.fill(6);
console.log(arr1); //[6, 6, 6, 6, 6]
arr1.fill(7, 2);
console.log(arr1); //[6, 6, 7, 7, 7]
arr1.fill(8, 1, 3);
console.log(arr1); //[6, 8, 8, 7, 7]
6.copyWithin()
在当前数组内部,将指定位置的成员复制到其他位置,然后返回当前数组
// —第二个参数为起始索引
// —第三个参数为结束索引**(不包含)**,将对应的数组元素赋值给第一个参数设置的开头的索引,依次取替换原索引上的值
- 示例:
arr1=[1, 2, 3, 4, 5]
let arr4 = arr1.copyWithin(0, 1, 4);
console.log(arr4); //[2, 3, 4, 4, 5]
let arr5 = arr4.copyWithin(1, 3, 4);
console.log(arr5); //[2, 4, 4, 4, 5]
let arr6 = arr5.copyWithin(0, 2, 4);
console.log(arr6); //[4, 4, 4, 4, 5]
7.includes()
判断数组是否包含指定值—是全等判断
相当于Object.is()
//—第一个值是包含的指定值
//—第二个值是指定值的索引
- 示例:
arr5=[2, 3, 4, 7, 5]
let flag = arr5.includes(2);
console.log(flag);//true
let flag1 = arr5.includes(3,1);
console.log(flag1);//true