1. find(es6)和map,filter
const arr = [1,2,3,4,5,6,7];
let res1 = arr.find(function(v,i,arr){
if(v>3)return v;
});
console.log(res1);//4
let res2 = arr.filter(function(v){
if(v>3)return v;
});
console.log(res2);//4567
let res3 = arr.map(function(v){
if(v>3)return v;
});
console.log(res3);//undefined undefined undefined 4567
find是返回第一个符合条件的元素,findIndex是返回第一个符合条件的元素的索引,filter是返回所有符合条件的元素,map返回所有的,但是不符合条件的是undefined;都不会改变原数组;
2. includes和indexOf
const arr = [1,2,3,4,5,6,7];
console.log(arr.indexOf(2));//1
console.log(arr.indexOf(8));//-1
console.log(arr.includes(2));//true
includes返回的是布尔值,indexOf返回的是符合条件的第一个值的索引
3. arr.keys 表示的是数组索引的集合; arr.values 表示的是数组值的集合
arr.entries表示的是数组的键值对的结合(均属于es6)
4. fill(es6)
const arr = [1,2,3,4,5,6];
//arr.fill(3);//[3,3,3,3,3,3]将所有的元素填充为3
//arr.fill(3,1);//[1,3,3,3,3,3] 从第二个开始填充
arr.fill(3,1,4);//[1, 3, 3, 3, 5, 6]
5. Array.of(es6)根据参数返回一个数组
Array.of('w','i','r')//["w", "i", "r"]返回数组
Array.of(['w','o'])//[['w','o']]返回嵌套数组
Array.of(undefined)//[undefined]依然返回数组
Array.of()//[]返回一个空数组
该方法返回结果只与参数的数量有关,与参数类型无关;
6.copyWithin(start,startInd,endInd);
复制某一段代码到第一个参数的位置,很诡异,而且感觉没什么用
7. Array.from()
将一个带有length属性的对象,转换为数组,可以是字符串或者HTMLDOM伪数组,带有length属性的普通对象等
网友评论