fix _.removeAt with repeated indexes

This commit is contained in:
Dan Allison
2014-03-01 08:56:44 -08:00
committed by John-David Dalton
parent 95bd2dde19
commit ff26080c5c
2 changed files with 18 additions and 2 deletions

View File

@@ -2927,9 +2927,17 @@
} else {
removals.sort(baseCompareAscending);
}
var result = Array(length);
var result = Array(length),
adjust = -1,
removal, prev;
while(++index < length) {
result[index] = splice.call(array, removals[index] - index, 1)[0];
removal = removals[index];
if (removal === prev) {
result[index] = result[index - 1];
continue;
}
prev = removal;
result[index] = splice.call(array, removal - ++adjust, 1)[0];
}
return result;
}