数组新增方法
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 的文章