findLastIndex() | Underscore JS 日本語リファレンス

第1引数「配列」の最後の値から降順で調べられ、第2引数の関数の条件を満たしている後ろから最初のindex値が返される。

■使用例

var arr = [ 7, 1, 6, 7, 4 ];
var func = function(num){ 
	return num % 2 == 0; 
}
// re = 4
var re = _.findLastIndex( arr, func );

■内部構造

_.findLastIndex = createIndexFinder(-1);
  
  function createIndexFinder(dir) {
// _.findLastIndex() の引数が適用される関数。
    return function(array, predicate, context) {

// 第3引数が入力されていない、第2引数が関数ならそのまま。	
      predicate = cb(predicate, context);
      
// 第1引数の長さ抽出。     
      var length = array != null && array.length;
 
// index = length - 1;     
      var index = dir > 0 ? 0 : length - 1;
  
// 第2引数の関数の条件を満たしていた配列のindex値が返される。  
      for (; index >= 0 && index < length; index += dir) {
        if (predicate(array[index], index, array)) return index;
      }
      
// 各値が条件を満たしていなかった場合、「-1」が返される。
      return -1;
    };
  }

このページのトップへ戻る