UNPKG

678 BJavaScriptView Raw
1
2
3 /**
4 * Array lastIndexOf
5 */
6 function lastIndexOf(arr, item, fromIndex) {
7 if (arr == null) {
8 return -1;
9 }
10
11 var len = arr.length;
12 fromIndex = (fromIndex == null || fromIndex >= len)? len - 1 : fromIndex;
13 fromIndex = (fromIndex < 0)? len + fromIndex : fromIndex;
14
15 while (fromIndex >= 0) {
16 // we iterate over sparse items since there is no way to make it
17 // work properly on IE 7-8. see #64
18 if (arr[fromIndex] === item) {
19 return fromIndex;
20 }
21 fromIndex--;
22 }
23
24 return -1;
25 }
26
27 module.exports = lastIndexOf;
28