当前位置: 首页 > news >正文

js手动实现unshift

js 手动实现数组的unshift

unshift是什么?

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

注意: 该方法将改变数组的数目。

语法:

array.unshift(item1,item2, ..., itemX)

代码实现

首先,在数组的原型上挂载一个新的方法,myUnshift

Array.prototype.myUnshift = function () {}

通过循环遍历参数,使用splice方法,向数组开头添加元素,最后再返回数组的长度。代码如下:

Array.prototype.myUnshift = function () {const len = arguments.length;for (let i = len - 1; i >= 0; i--) {const element = arguments[i]this.splice(0, 0, element)}return this.length;    
}

测试一下:

let arr = [1, 2, 3]
console.log(arr.myUnshift(4, 5, 6), arr)//6  [4, 5, 6, 1, 2, 3]
http://www.lryc.cn/news/343613.html

相关文章:

  • Failed to get DISPLAY: Error: All configured authentication methods failed 解决方法
  • 随便聊一下 显控科技 控制屏 通过 RS485 接口 上位机 通讯 说明
  • C++学习笔记(多线程)
  • 解决Redis的键值前出现类似\xAC\xED\x00\x05t\x00*这样的字符序列
  • 分享 Kamailio 5.7.x 预处理一例
  • 学QT的第三天~
  • 数据结构---时间复杂度+空间复杂度
  • Verilog 触发器状态机语言描述
  • 等保保护测评试题中
  • SD-Turbo部署
  • 【ZZULIOJ】1095: 时间间隔(函数专题)(Java)
  • Rust:文件 launch.json 有什么用?
  • vue3实现文字垂直滚动
  • Android4.4真机移植过程笔记(三)
  • PostgreSQL备份恢复与复制
  • spring高级篇(八)
  • UP互助 帮助UP起号做视频 支持B站和抖音
  • *求问?:为何会超时(TLE)?
  • cocosstudio工程文件(.ccs)维护问题
  • Blender动画与云渲染:创造高质量作品的未来路径
  • 【MySQL】3.MySQL核心概念解析:数据完整性、事务处理、索引及聚簇索引与非聚簇索引
  • 【netty系列-03】深入理解NIO的基本原理和底层实现(详解)
  • 大数据Scala教程从入门到精通第二篇:Scala入门
  • Spring Data JPA数据批量插入、批量更新真的用对了吗
  • 数据结构-线性表-应用题-2.2-12
  • 目录页码右对齐快速解决
  • 分红76.39亿,分红率再创新高,成长活力无限的伊利带来丰厚回报
  • 关于行进线路。
  • Unity 编辑器工具 - 资源引用查找器
  • MySQL中的批量更新实战