var
arr = [1, 2, 3,
'a'
,
'b'
,
'c'
,
'd'
];
Array.prototype.copySlice =
function
() {
var
newArr = [];
var
len =
this
.length;
var
argLen = arguments.length;
if
(arguments.length == 1) {
var
startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);
for
(
var
i = startNum; i < len; i++) {
newArr.push(arr[i]);
}
}
else
if
(arguments.length == 2) {
var
startNum = arguments[0] > 0 ? arguments[0] : (len + arguments[0]);
var
endNum = arguments[1] > 0 ? arguments[1] : (len + arguments[1]);
if
(startNum >= endNum) {
return
newArr;
}
else
{
for
(
var
i = startNum; i < endNum; i++) {
newArr.push(arr[i]);
}
}
}
return
newArr;
};
console.log(arr.length);
console.log(arr.copySlice(2));
console.log(arr.copySlice(3, 6));
console.log(arr);
console.log(arr.copySlice(-2));
console.log(arr.copySlice(-5, 6));
console.log(arr.copySlice(-5, -6));
console.log(arr.copySlice(5, 5));
console.log(arr.copySlice(5, ));