29 lines
641 B
JavaScript
29 lines
641 B
JavaScript
|
|
'use strict'
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Remove a range of items from an array
|
||
|
|
*
|
||
|
|
* @function removeItems
|
||
|
|
* @param {Array<*>} arr The target array
|
||
|
|
* @param {number} startIdx The index to begin removing from (inclusive)
|
||
|
|
* @param {number} removeCount How many items to remove
|
||
|
|
*/
|
||
|
|
module.exports = function removeItems(arr, startIdx, removeCount)
|
||
|
|
{
|
||
|
|
var i, length = arr.length
|
||
|
|
|
||
|
|
if (startIdx >= length || removeCount === 0) {
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
removeCount = (startIdx + removeCount > length ? length - startIdx : removeCount)
|
||
|
|
|
||
|
|
var len = length - removeCount
|
||
|
|
|
||
|
|
for (i = startIdx; i < len; ++i) {
|
||
|
|
arr[i] = arr[i + removeCount]
|
||
|
|
}
|
||
|
|
|
||
|
|
arr.length = len
|
||
|
|
}
|