UNPKG

770 BJavaScriptView Raw
1var toNumber = require('./toNumber')
2
3/**
4 * 裁剪 Arguments 或数组 array,从 start 位置开始到 end 结束,但不包括 end 本身的位置
5 * @param {Array/Arguments} array 数组或Arguments
6 * @param {Number} startIndex 开始索引
7 * @param {Number} endIndex 结束索引
8 */
9function slice (array, startIndex, endIndex) {
10 var result = []
11 var argsSize = arguments.length
12 if (array) {
13 startIndex = argsSize >= 2 ? toNumber(startIndex) : 0
14 endIndex = argsSize >= 3 ? toNumber(endIndex) : array.length
15 if (array.slice) {
16 return array.slice(startIndex, endIndex)
17 }
18 for (; startIndex < endIndex; startIndex++) {
19 result.push(array[startIndex])
20 }
21 }
22 return result
23}
24
25module.exports = slice