lodash findLastIndex 根据条件查找在数组中满足条件的最后一个位置

lodash findLastIndex 根据条件查找在数组中满足条件的最后一个位置,使用方法和findIndex一样。

findLastIndex方法

_.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1])
参数1:需要查找的对象
参数2:查询条件,可以是对象、对象的属性、自定义函数
参数3:起始位置默认为数组的最后一个位置
返回值:如果查找到匹配的结果返回大于等于0的值,未找到返回-1

findLastIndex例子

//arr需要处理的数组
var arr = [
  { 'site': 'itxst.com',  'state': false ,id:1},
  { 'site': 'google.com',  'state': false,id:2 },
  { 'site': 'google.com',  'state': false,id:3 },
  { 'site': 'baidu.com', 'state': true ,id:4}
];

var pos=-1;
//例子1:通过自定义函数查找位置
pos = _.findLastIndex(arr, function(o) { return o.site== 'google.com'; });
//pos等于2
 
//例子2:通过对象查找位置(无需列举所有的属性)
pos = _.findLastIndex(arr, { 'site': 'google.com',  'state': false,id:3 });
//pos等于2
 
//例子3:通过对象属性查找位置
pos = _.findLastIndex(arr, ['state', false]);
//pos等于2
 
//例子4:通过对象属性查找位置
pos = _.findLastIndex(arr, 'state');
//pos等于3

在线试一试

例子