一,新增API
1.Array.of()
方法创建一个包含所有参数的数组。无论有多少参数,参数是什么类型。
{
let arr=Array.of(3,2,1,true)
console.log(arr) // [3,2,1,true]
let arr1=Array.of()
console.log(arr1) // []
}
2.Array.from(arrayLike,[mapFn,[thisArg]])
从类数组对象创建一个新的真正的数组。其中arrayLike
表示待转换的数组,callback
为映射函数,相当于map()
,thisArg
为映射函数的this
指向。
{
let arr=[1,2,3];
console.log(Array.from(arr,function(cur)
{return cur+this.add},{add:2})) // [3,4,5]
console.log(arr)
console.log(Array.from('foo')) // ['f','o','o']
}
3.fill(item,[start,[end]])
用一个固定值替换数组的元素,start
表示开始替换的位置,end
表示结束位置(不包括该元素)。
{
let arr=[1,2,3,4]
arr.fill(0) // [0, 0, 0, 0]
console.log(arr)
arr.fill('h',1,2) // [0, "h", 0, 0]
}
4.keys()
返回一个新的遍历器Array Iterator
对象,包含数组所有的键
{
let arr=[1,2,3,4];
for (let k of arr.keys())
{
console.log(k) // 0,1,2,3
}
}
5.values()
返回一个新的遍历器Array Iterator
对象,包含数组所有的值
{
let arr=[1,2,3,4];
for (let v of arr.values())
{
console.log(v); // 1,2,3,4
}
}
6.entries()
返回一个新的 Array Iterator
对象,包含数组所有的键值对数组。
{
let arr=[1,2,3,4];
let iter = arr.entries()
console.log(iter.next().value) // [0, 1]
console.log(iter.next().value) // [1, 2]
}
7.find()
返回符合筛选条件元素,注意当找到第一个后就停止继续寻找
{
let arr = [1,2,3]
let ele = arr.find((item)=>item>2)
console.log(ele) // 3
}
8.findIndex()
功能同find
函数,但是该函数返回元素在数组里的索引,
{
let arr = [1,2,3]
let ele = arr.find((item)=>item>2)
console.log(ele) // 2
}
9.copyWithIn()
用自身的元素替换自身的元素。