实现array.slice()方法

简介: 实现array.slice()方法

以下是我的一些想法,若有问题感谢您指出来        谢谢

Array.prototype.mySlice = function(...formPara){//不定参数,es6中有介绍
           let length =  formPara.length;
           let temp = [];//要返回的数组
           let start = 0;//默认初始位置为下标0
           let end = this.length;//默认初始位置为下标length-1
           //也就是只有一个参数传进来
           if(length === 1 ){
                start = formPara[0] < 0? end + formPara[0]:formPara[0];
           }
           //传入两个参数
           else if(length === 2){
                start = formPara[0] < 0? end + formPara[0]:formPara[0];
                end = formPara[1] < 0? end + formPara[1]:formPara[1];
                
           }
           for(let i = start;i < end;i++){
                temp.push(this[i]);
           }
           return temp;
        }
let arrary = ['a','b','c','d','e','f'];
    console.log(arrary.mySlice());      //["a", "b", "c", "d", "e", "f"]
    console.log(arrary.mySlice(1));     //["b", "c", "d", "e", "f"]
    console.log(arrary.mySlice(2,3));   //["c"]
    console.log(arrary.mySlice(3,2));   //[]
    console.log(arrary.mySlice(-3,-1)); //["d", "e"]
    console.log(arrary.mySlice(-1,-3)); //[]
    console.log(arrary.mySlice(-3));    //["d", "e", "f"]

结果截图如下:

相关文章
|
3天前
|
索引
ArrayList集合常用方法,.set可以用来生成图片和赋值命名,array.remove(1),array.set(1,“xxxx”)可以修改指定位置,array.size可以获取元素的个数
ArrayList集合常用方法,.set可以用来生成图片和赋值命名,array.remove(1),array.set(1,“xxxx”)可以修改指定位置,array.size可以获取元素的个数
|
2月前
|
前端开发 JavaScript
前端 js 经典:array 原生方法
前端 js 经典:array 原生方法
27 1
|
2月前
|
JavaScript 前端开发 索引
JavaScript array 原生 reduce 方法的模拟实现
JavaScript array 原生 reduce 方法的模拟实现
|
2月前
|
Rust 索引 Windows
Rust 原始类型之数组array内置方法
Rust 原始类型之数组array内置方法
101 0
Rust 原始类型之数组array内置方法
|
2月前
ES6的Array.from({length:N})方法创建长度为N的undefined数组,等价于 [...Array(N)]
ES6的Array.from({length:N})方法创建长度为N的undefined数组,等价于 [...Array(N)]
|
11月前
|
JavaScript 前端开发
js中的Array对象属性和方法整理(二)
js中的Array对象属性和方法整理
67 0
热点面试题: Array中有哪些非破坏性方法?
热点面试题: Array中有哪些非破坏性方法?
|
11月前
|
JavaScript 前端开发 程序员
js中的Array对象属性和方法整理(一)
js中的Array对象属性和方法整理
57 0
|
11月前
|
JavaScript 前端开发 索引
JavaScript Array 常用属性和方法
JavaScript Array 常用属性和方法
42 0
|
JavaScript 前端开发 索引
扩展JavaScript数组(Array)添加删除元素方法
在JavaScript数组中,有很多不便之处,比如直接使用delete关键字删除数组中的一个元素是会产生空位的。文本为JavaScript数组(Array)扩展添加删除元素方法。
79 0
扩展JavaScript数组(Array)添加删除元素方法