代码拉取完成,页面将自动刷新
<script>
(function () {
function myslice(begin, end) { // ES6中接收多个实参的写法 叫rest参数
let newArr = [];
// this 表示arr1
if (this.length === 0) {
return newArr;
} // 如果要截取的数组是一个空的数组 什么也不做返回一个空数组
// 处理start特殊情况
begin = begin || 0;
if (begin < 0) {
begin = this.length + begin
} else if (begin >= this.length) {
return newArr
}
// 处理end的特殊情况 1)没有begin 没有end 2)有begin 没有end
end = end || this.length
if (end > this.length) {
end = this.length;
} else if (end <= begin) {
return newArr
}
for (let i = begin; i < end; i++) { // 遍历下标在[begin end)区间中的所有元素,添加到newArr中
newArr.push(this[i]); //
}
return newArr;
}
Array.prototype.myslice = myslice;
}())
let arr1 = [1, 3, 4, 5, 7, 9];
let res1 = arr1.myslice(2, 4); // 2 4 代表都是索引
console.log(res1); // [4, 5]
let res2 = arr1.myslice(-2, -1); // 只有begin,那么表示从begin一直截取到最后
console.log(res2); // [4,5,7,9]
let res3 = arr1.myslice();
console.log(res3) // [1, 3, 4, 5, 7, 9]
</script>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。