实现一个数组的findLastIndex的方法

Js 数组为我们提供了很多的数据查找与遍历的方法

例如:find,findIndex,
但是没有一个倒序查找的方法,我们可以模拟实现一个 findLastfindLastIndex的方法

const findLast = function(array, cb){
    
    
  if(!Array.isArray(array)){
    
    
    return undefined
  }
  if(array.length === 0){
    
    
    return undefined
  }
  for(var i = array.length - 1; i >= 0; i--){
    
    
    const item = array[i];
    if (cb.call(null, item, i, array)) {
    
    
      return item
    }
  }
  return undefined
}

测试一下

findLast([1,2,3], (item) => item > 1)
const findLastIndex = function(array, cb){
    
    
  if(!Array.isArray(array)){
    
    
    return -1
  }
  if(array.length === 0){
    
    
    return -1
  }
  for(var i = array.length - 1; i >= 0; i--){
    
    
    const item = array[i];
    if (cb.call(null, item, i, array)) {
    
    
      return i
    }
  }
  return -1
}

测试一下

findLastIndex([1,2,3], (item) => item > 1)

猜你喜欢

转载自blog.csdn.net/weixin_41489378/article/details/118155046
今日推荐