00001 00010 function baseSlice(array, start, end) { 00011 var index = -1, 00012 length = array.length; 00013 00014 if (start < 0) { 00015 start = -start > length ? 0 : (length + start); 00016 } 00017 end = end > length ? length : end; 00018 if (end < 0) { 00019 end += length; 00020 } 00021 length = start > end ? 0 : ((end - start) >>> 0); 00022 start >>>= 0; 00023 00024 var result = Array(length); 00025 while (++index < length) { 00026 result[index] = array[index + start]; 00027 } 00028 return result; 00029 } 00030 00031 module.exports = baseSlice;