1. 首先需要明白函数中的arguments

arguments是什么呢? argument里面存储了所有传递过来的参数,是一个类数组,

什么是类数组呢? 当一个数组的隐式原型(__proto__)Object的时候就可以证明这是一个类数组

类数组和普通数组的区别? 类数组中没有普通数组中常用的方法,例如unshift、pop、push等,因为普通数组的隐式原型(__proto__)是执行Array,使用上面的方法时会从原型上面查找

2. unshift会更改元素组  返回新数组的长度

3. 在Array的原型上手写 unshift 方法

Array.prototype.MultipleUnshift = function () {

//   遍历原数组的长度 加上 传递过来参数的长度

for (let i = this.length + arguments.length; i > 0; i--) {

// 把原数组中的元素放入新数组的最后

this[i - 1] = this[i - arguments.length - 1]

}

// 遍历传递进来的数组

for (let i = 0; i < arguments.length; i++) {

// 从前开始给新数组赋值

this[i] = arguments[i]

}

// 返回新数组

return this.length

}

let arr1 = [4, 5, 6, 7, 8, 9]

console.log(arr1.MultipleUnshift(1, 2, 3, 4, 0))

console.log(arr1)

关于手写unshift方法相关推荐

  1. 如果数组最后一项为空删除最后一项和去前面的逗号_手写数组方法

    最近把数组的常用方法都手写了一遍,整理到了一块儿,顺便就分享出来. 注:有的方法的实现算法可能不是最好的,所以也可以根据自己的理解有不一样的实现方法,欢迎在评论区留出来. 我废话就不多说了,直接上代码 ...

  2. 多人在线文档(excel)手写签名方法

    简介 无论是高校.政府.企业及其他个人团体,都会产生多人对同一文件签名的需求,本文章提供了一种解决方案 软件 钉钉 方法 负责人注册钉钉 创建团队 配置好对应的群设置 将文件传至群内(可开启保密模式, ...

  3. 使用inetaddress测试目标可达性_纯java手写打造方法级白盒测试框架

    我们在做服务端测试时,经常使用的自动化测试框架或平台大多通过restful风格使用http协议接入系统,例如常见的Jmeter.LoadRunner.Postman等,还有不常用或付费的工具如Test ...

  4. 手写 instanceof 方法

    语法 object instanceof constructor 参数 object 某个实例对象 constructor 某个构造函数 描述 instanceof 运算符用来检测 construct ...

  5. leetcode 手写计算器 方法总结

    1.leetcode 227 Basic calculator 我目前见过的最好的解法 Implement a basic calculator to evaluate a simple expres ...

  6. JS手写数组扁平化(flat)方法

    方法介绍 数组扁平化方法 Array.prototype.flat() 也叫数组拍平.数组拉平.数组降维. Array.prototype.flat() 用于将嵌套的数组"拉平", ...

  7. 手写字符串 trim 方法,保证浏览器的兼容性

    手写字符串 trim 方法,保证浏览器的兼容性 trim() 方法删除字符串首尾空白字符 手写trim方法: String.prototype.trim = function(){return thi ...

  8. Array.isArray,Array.from, Array.entries,Array.incledes的实现原理,分别手写方法

    1.Array.isArray 基本使用 const arr = ["1"]; console.log("isArray:", Array.isArray(ar ...

  9. MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试

    文章目录 MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试 一.题目要求 二.完整的目录结构说明 三.Mnist数据集及数据格式转换 四.BP神经网络相关知识 4.1 ...

  10. 手写在线计算机,在线生成手写签名

    在线生成手写签名 上班每天手写签到,但是字太难看了,看着签到表上别人一气呵成的连笔签名,我只能老老实实一笔一画写上自己的名字,可是我怎么练都练不会连笔签名,要不就是签的太难看,实在拿不出手,好奇那些签 ...

最新文章

  1. 初识Service Worker
  2. jquery Fancybox插件的应用
  3. java https 网络爬虫_Java 网络爬虫,就是这么的简单
  4. stream测试内存_.net core百万设备连接服务和硬件需求测试
  5. 北科大matlab,北科大matlab第五次作业多项式及其相关计算.doc
  6. Matlab读和写图像需要注意的问题
  7. 做shopee找代运营,如何判断一家代运营公司是否靠谱?
  8. 利用反射球实现镜面效果
  9. 【web开发学习笔记】Structs2 Action学习笔记(一个)
  10. java 并发执行_Java并发执行器的懒惰开发人员简介
  11. Python学习笔记——基础篇【第七周】———FTP作业(面向对象编程进阶 Socket编程基础)...
  12. 【华为云•云享专家•原创分享计划】分享好文赢好礼
  13. Node有什么特点?
  14. Git——版本回退【git reset / git log / git reflog】
  15. 苹果id无法登陆_英雄联盟手游苹果id怎么绑定拳头账号?绑定教程介绍[图]-攻略...
  16. Go语言之flag基础用法
  17. FMEA-MSR步骤三:功能分析
  18. 《jmeter入门使用》
  19. html5/css登录注册网页模板
  20. opencv_contrib安装笔记

热门文章

  1. 第七章---8253和8255芯片
  2. iis服务器安装帝国网站,安装帝国cms如何配置iis
  3. DMAC计算机组成原理,计算机组成原理
  4. 家用路由器改造成交换机教程
  5. element 日期选择器不能选择当天日期以后的日期
  6. 计算机内存占用过高,内存,教您电脑内存占用高怎么办
  7. 网格简化技术研究报告
  8. zabbix监控的快速部署
  9. 电脑如何设置定时关机?
  10. vue.js中created方法作用