define(function defineArrayFindIndex(require) {
  'use strict';

  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
  function findIndex(list, callback, context) {
    if (context) {
      callback = callback.bind(context);
    }

    var position = list.reduce(function(previous, element, index, array) {
      return previous === null && callback(element, index, array) ? index : previous;
    }, null);

    return position === null ? -1 : position;
  }

  function findIndexES6(list, callback, context) {
    return list.findIndex(callback, context);
  }

  return Array.prototype.findIndex && findIndexES6 || findIndex;
});
@@ -204,24 +204,45 @@
  context) %7B%0A
+    var index = -1;%0A%0A
     if (cont
@@ -304,224 +304,151 @@
     
-var position = list.reduce(function(previous, element, index, array) %7B%0A      return previous === null && callback(element, index, array) ? index : previous;%0A    %7D, null);%0A%0A    return position === null ? -1 : position
+for (var i=0; i %3C list.length; i++) %7B%0A      if (callback(list%5Bi%5D, i, list)) %7B%0A        index = 1;%0A        break;%0A      %7D%0A    %7D%0A%0A    return index
 ;%0A  

simplify findIndex code