ES6語法快速上手四

數組新增方法

1. arr.find

(callback[,thisArag])查找數組中滿足要求的第一個元素的值。

參數:callback在數組每一項上執行的函數,接收3個參數:

element當前遍歷到的元素。index[可選]當前遍歷到的索引。array[可選]數組本身。

可選參數:thisArg 執行回調時用作this的對象。

返回值:數組中第一個滿足所提供測試函數的元素的值,否則返回Undefined。

{

let arr=[1,2,3,4];

let val=arr.find((item,index)=>{

if(item>1){

return true;

}

});

console.log(val);

}

2. arr.findIndex(callback[,thisArg])查找數組中滿足要求的第一個元素的值得索引。

參數:

callback針對數組中的每個元素,都會執行該回調函數,執行時會自動傳入下面三個參數:

element:當前元素。index:當前元素的索引。array:執行callback時作為this對象的值。

返回值:滿足要求的值的索引。

let arr=[1,2,3,4];

let index=arr.findIndex(item=>item>=3);

console.log(index);

3. arr.flat([depth])扁平化多維數組

可選參數:

depth指定要提取嵌套數組的結構深度,默認值為1.

返回值:一個包含 將數組與子數組中所有元素的新數組。

let arr=[

["小明","18"],

["小hong","16"],

[

[1,[3,4],[5,6],[[7],[8]]]

]

];

console.log(arr.flat(Infinity));

4.arr.flatMap(function callback(currentValue[,index[,array]]){

//返回新數組的元素

}[,thisArg]方法首先使用映射函數映射每個元素,然後將結果壓縮成一個新數組。它與map和深度值1的flat幾乎相同,但flatMap通常在合併成一種方法的效率稍微高一些

參數:callabck可以生成一個新數組中的元素的函數,可以傳入三個參數。

currentValue當前正在數組中處理的元素。index可選的,數組中正在處理的當前元素的索引。array可選的,被調用的map數組。

可選參數:thisArg執行callback函數時使用的this值。

返回值:一個包含將數組與子數組中所有元素的新數組。

let arr=[

["小明","18"],

["小剛","18"]

];

let newArr=arr.flatMap((item)=>{

item=item.filter((item,index)=>{

return index==0;

});

return item;

})

console.log(newArr);

5.arr.fill(value[,start[,end]]);用一個固定值填充一個數組中從起始索引到終止索引內的全部元素。不包括終止索引。

參數:用來填充數組元素的值。

可選參數:start起始索引,默認值為0;end終止索引,默認值為arr.length

let arr=[0,1,2,3,4];

arr.fill("a",1,4);

arr.fill("a",1,20);

console.log(arr);

6.arr.includes(valueToFind[,fromIndex])判斷數組中是否包含一個指定的值。

參數:valueToFind需要查找的值。

可選參數:從fromIndex處開始向後查找。

返回值:true代表數組中包含valueToFind,false代表數組中不包含fromIndex.

let arr=["a","b","c","d","e"];

console.log(arr.includes("c"); console.log(arr.includes("c",3));


分享到:


相關文章: