Fixing indexOf([], undefined, true) to return -1 insead 0

This commit is contained in:
Johann Steinbrecher
2014-01-14 12:55:06 -08:00
parent fdcd67dd6b
commit f7aab02978
2 changed files with 4 additions and 2 deletions

View File

@@ -2404,7 +2404,7 @@
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return array[index] === value ? index : -1;
return (array[index] === value && array.length ? index : -1);
}
return baseIndexOf(array, value, fromIndex);
}

View File

@@ -3165,8 +3165,9 @@
equal(_.indexOf(array, 3), 2);
});
test('should return `-1` for an unmatched value', 1, function() {
test('should return `-1` for an unmatched value', 2, function() {
equal(_.indexOf(array, 4), -1);
equal(_.indexOf([], undefined, true), -1);
});
test('should work with a positive `fromIndex`', 1, function() {
@@ -3197,6 +3198,7 @@
test('should work with `isSorted`', 1, function() {
strictEqual(_.indexOf([1, 2, 3], 1, true), 0);
});
}());
/*--------------------------------------------------------------------------*/