forEach和findIndex都是数组的方法
forEach用于数组的循环处理
findIndex用于循环中满足条件的第一个数组项的Index
forEach使用
var arr1=[1,8,3,5,8,9,7];
var ret3 = arr1.forEach((value, index, arr) => {
console.log(value)
})
findIndex的使用
var arr1=[1,8,3,5,8,9,7];
var ret3 = arr1.findIndex((value, index, arr) => {
return value > 4
})
var ret4 = arr1.findIndex((value, index, arr) => {
return value > 14
})
console.log(ret3)
console.log(ret4)
返回:
1
-1
forEach和findIndex的区别:forEach会循环数组,但是不会有返回值,可以在循环中做与返回值无关的数组处理,findIndex也会循环数组,会有return处理,当return的值为true时会返回第一个为true的数据项的index
forEach实现
var arr1=[1,8,3,5,8,9,7];
Array.prototype.myForEach=function(fn){
var arr=this;
for(var i=0;i<arr.length;i++){
fn(arr[i],i,arr);
}
}
var ret3 = arr1.myForEach((value, index, arr) => {
console.log(value);
})
findIndex实现
var arr1=[1,8,3,5,8,9,7];
Array.prototype.myFindIndex=function(fn){
var arr=this;
for(var i=0;i<arr.length;i++){
if(fn(arr[i],i,arr)){
return i;
}
}
}
var ret3 = arr1.myFindIndex((value, index, arr) => {
return value>4;
})
console.log(ret3);