欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javaScript 重写unshift()方法

程序员文章站 2023-12-22 21:48:34
...

Array.prototype.unshift()是数组原型中的非静态方法,用于在数组开头插入一个或多个元素,并且返回数组长度,参数是要插入的值.并且原值是要改变的

在了解本来的功能之后就可以开始重写了

//将重写的方法添加到原型当中
 Array.prototype.myUnshift = function() {
            //这里我们从后往前遍历,因为是在数组前面添加元素,这样就不会丢失数据,长度是原来数组的长度加上要添加的元素个数 
            for (var i = this.length + arguments.length - 1; i >=  0; i--) {
         //因为要改变原值 所以使用if-else 让原来的数组往后推arguments.length个位置
                if (i > arguments.length - 1) {
                    this[i] = this[i - arguments.length];
                } else {
                    //这里再前面直接赋值要添加的元素即可
                    this[i] = arguments[i];
                }
            }
            //这里并没有返回数组长度而是直接返回了数组
            return this;
            // console.log(typeof copy);
        }
        //定义一个数组
        var a = [1, 2, 3, 4, 5, 6];
        //声明一个变量接受返回值
        var result = a.myShift(0, 12);
        //进行对比
        console.log(a);
        console.log(result);

这样就完成了unshift()方法的重写

相关标签: javascript

上一篇:

下一篇: