1 | var 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 | */
|
9 | function 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 |
|
25 | module.exports = slice
|