1.find(callback):返回数组中第一个满足条件的元素
let arr = [9,8,-9,3,4,1];
let n = arr.find(function(item,index) {
if(item < 0){
return true;
}
})
console.log(n);
上图所示代码返回小于0的对象,find(callback)返回数组中满足要求的第一个元素,找到之后结束本次操作,即打印出的结果为-9。
2.findIndex(callback):返回数组中第一个满足条件的元素的下标
3.entries():帮助数组遍历每一个key值与value值
let arr = [9,16,-9,7,56];
for (let [key,value] of arr.entries()) {
console.log(key,value);
}
4.keys() :帮助数组遍历所有的key值
5.includes():检索数组是否包含某个值,给返回布尔值
let arr = [9,16,-9,7,56];
console.log(arr.includes(16));
上述代码块中,在数组中检索该数组中是否包含某个值时,直接返回布尔值,该案例中检索是否有16,最后返回true。
6. Array.isArray(arr):验证是否为数组,返回布尔值true或者false
补充:console.log(Array.isArray(arr))
构造函数调用的的方法叫做静态方法
实例对象调用的方法叫做实例方法
1. 静态方法:在加载类时就加载静态方法,在外部调用静态方法时,可以使用 " 类名 . 方法名 " 的方式,也可以使用 "对象名 . 方法名 "的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。实例方法在调用时才被加载。
2. 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制 。
7.filter(callback):过滤数组单元,将满足条件的元素过滤
callback => function(value,index){}
自动将每一个元素放入callback中进行处理,如果返回值为true,将元素放入新数组中,否则不操作,其中value为形参,代表数组中的每一个值;index亦为形参,代表数组中每一个值的下标。
let arr = [1,26,-8,24,6,9,0,-9,17];
let arr2 = arr.filter(function(item,index){
if(item>0) {
return true;
}
return false;
})
console.log(arr2);
//也可以简写为
let arr2 = arr.filter(item => item>0);
console.log(arr2);
8.map(callback):对数组进行遍历,将计算后的值返回新数组,自动将每一个元素放入callback中处理,返回具体值
let arr3 = arr.map(item => item*2);
console.log(arr3);
(如下图代码段所示,遍历数组找到小于0的元素,数组中存在则返回true并且终止遍历。)
let arr = [2,13,6,-2,7,-8,19];
let n = arr.some(item =>item<0);
console.log(n);
10.every(callback):与some相反,对数组进行遍历,如果有一个不满足条件的元素,则返回false,并终止遍历,否则返回true。
let arr = [2, 13, 6, -2, 7, -8, 19];
let m = arr.every(item => item>0);
console.log(m);
11.reduce(function(preval,nowval,index,arrself){
return preval+nowpreval;
}
累加数组单元,直接返回数组单元的累加值,其中preval表示上一个值,nowval表示当前值,index表示当前值的下标,arrself表示当前数组可省略
let sum = arr.reduce(function(preval,nowval,index){
console.log(preval,nowval);
return preval += nowval;
})
console.log(sum);
//亦可简写为
let sum = arr.reduce((preval,nowval) => preval+=nowval);
console.log(sum);