news 2026/1/1 17:18:02

TypeScript 数组拷贝(复制)的方式有几种

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TypeScript 数组拷贝(复制)的方式有几种
方法是否生成新数组是否改变原数组适用场景
[...array]快速浅拷贝数组
array.map(item => item)可以顺便加工元素或浅拷贝
array.filter(item => true)用于筛选,偶尔用于拷贝,但不直观
array2 = array1引用赋值,修改一个会影响另一个

1. 使用展开运算符(Spread Operator)

this.filteredTestTypeList=[...this.testTypeList];

…this.testTypeList 会把数组里的每一项“展开”,然后放入一个新数组。

  • 效果:创建了一个新的数组,浅拷贝每一项(数组里的对象还是引用)。

  • 优点:语法简洁,常用。

2. 使用 map 拷贝

this.filteredTestTypeList=this.testTypeList.map(item=>item);
  • map 会遍历数组,把每一项传给回调函数,然后返回一个新数组。

  • 这里的写法 item => item 表示“原样返回每一项”。

  • 效果:同样是创建一个新数组,浅拷贝每一项。

  • 实际用途上,这里用 map 没有改变数据,只是生成了新数组,跟 […array] 差不多。

3. 使用 filter 拷贝

this.filteredTestTypeList=this.testTypeList.filter(item=>true);
  • filter 会遍历数组,返回回调函数返回 true 的元素组成的新数组。

  • item => true 表示保留所有元素。

  • 效果:也能生成一个新数组,但 filter 本质是“筛选”,不适合单纯拷贝数组,只是顺手也能做浅拷贝。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/25 7:56:46

ComfyUI与Mosquitto MQTT代理集成:物联网场景适配

ComfyUI与Mosquitto MQTT代理集成:物联网场景适配 在智能制造车间的边缘服务器上,一台搭载GPU的工作站正安静运行。突然,产线摄像头检测到异常划痕,一张图像数据包通过局域网被推送到消息中枢——几毫秒后,AI推理节点自…

作者头像 李华
网站建设 2025/12/26 13:16:18

7、脚本编程中的代码片段与替代语法技巧

脚本编程中的代码片段与替代语法技巧 在脚本编程的世界里,提高效率和代码的可复用性是永恒的追求。本文将介绍如何使用VS Code创建代码片段,以及脚本编程中一些替代语法的使用方法。 1. 使用VS Code创建代码片段 对于喜欢图形化IDE的开发者来说,VS Code是编写shell脚本的…

作者头像 李华
网站建设 2025/12/30 20:57:21

15、使用 AWK 总结日志

使用 AWK 总结日志 1. HTTPD 日志文件格式 在处理任何文件时,首先要熟悉文件的结构。对于 Apache HTTPD 网络服务器的访问日志文件,在基于 Debian 的系统中,默认日志文件位置是 /var/log/apache2/access.log ,其他系统可能使用 httpd 目录代替 apache2 。 可以使用…

作者头像 李华
网站建设 2025/12/27 4:41:36

ComfyUI插件生态盘点:提升效率的必备扩展推荐

ComfyUI插件生态盘点:提升效率的必备扩展推荐 在AI生成内容(AIGC)浪潮席卷创意产业的今天,越来越多设计师、开发者和企业开始将Stable Diffusion等模型引入实际生产流程。然而,当“一键生成”不再满足精细化创作需求时…

作者头像 李华
网站建设 2025/12/27 17:42:38

交通信号仿真软件:Synchro_(14).Synchro与其他软件的集成

Synchro与其他软件的集成 在交通信号仿真领域,Synchro 软件虽然功能强大,但有时需要与其他软件进行集成以实现更复杂的功能或数据交换。本节将详细介绍如何将 Synchro 与其他软件进行集成,包括数据导入/导出、脚本自动化和 API 调用等方面的内…

作者头像 李华