JavaScript:数组的unshift方法

unshift方法是 JavaScript 中数组的一种方法,该方法的主要用途是在数组的开头添加一个或多个元素,并返回新的数组长度。它的基本语法如下:

javascript 复制代码
array.unshift(element1, ..., elementX);

element1, ..., elementX 是被添加到数组开头的元素,可以是任何数据类型。以下是一些简单的使用示例:

javascript 复制代码
let arr = [10, 20, 30, 40];
arr.unshift(0);
console.log(arr); // 输出:[0, 10, 20, 30, 40]
arr.unshift(-20, -10);
console.log(arr); // 输出:[-20, -10, 0, 10, 20, 30, 40]

在了解了unshift的基础之后,接下来让我们试着自己手写一个unshift方法。其实unshift方法可以使用数组的splice方法来实现。一个简单的实现方式如下:

javascript 复制代码
// 在Array的原型上定义一个myUnshift方法
Array.prototype.myUnshift = function() {
  // 倒序遍历函数的所有参数
  for (let i = arguments.length - 1; i >= 0; i--) {
    // 将当前参数插入到数组的开始
    // this -> 在此处指向的是: 调用myUnshift方法的数组
    this.splice(0, 0, arguments[i]);
  }
  // 返回新的数组长度
  return this.length;
}

let arr = [1, 2, 3, 4];
let newLength = arr.myUnshift(-2, -1, 0);
console.log(arr);  // 输出:[-2, -1, 0, 1, 2, 3, 4]
console.log(newLength);  // 输出:7

这段代码中定义了一个名为 myUnshift 的函数并挂载到了 Array.prototype 上,它的工作方式和原生的 unshift 方法一样可以接受任意数量的参数,在数组的开始位置添加这些参数,并返回新的数组长度。

希望这篇文章对你有所帮助,一起加油!

相关推荐
十年Java程序媛8 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
lpfasd1239 小时前
node-sass 停止维护!老项目迁移 Dart Sass 完整教程
前端·rust·sass
考研保研资料分享10 小时前
2022年马理论保研复盘:南师大原著题、首师大追问与上财选择
面试
考研保研资料分享11 小时前
2022编辑出版跨保西北大学中国史:五校面试与九月补材料
面试·职场和发展
Data analyse45611 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
xiaogai_gai11 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
环境栈笔记12 小时前
指纹浏览器 WebRTC 怎么设置?从 ICE 候选、代理出口到功能验证
前端·人工智能·后端·自动化
赵大仁13 小时前
官网性能优化实战:LCP 3.2s → 2.1s、CLS 0.107 → 0,以及被我推翻的 6 个判断
前端·性能优化·cls·lcp·core web vitals
xiancai_xianyu13 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
小羊没烦恼!13 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html