數組新增方法
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));
閱讀更多 每天進步一點點l 的文章