news 2026/4/15 12:05:24

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进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 8:03:05

Graphcast:如何完成任务

原文:towardsdatascience.com/graphcast-how-to-get-things-done-f2fd5630c5fb?sourcecollection_archive---------0-----------------------#2024-01-29 本文介绍了如何使用谷歌最新的工具进行预测,从获取数据到格式化等等。 https://abhinavyesss.me…

作者头像 李华
网站建设 2026/4/5 14:38:33

39、超越传统界限:高频跟踪与金融套期保值技术揭秘

超越传统界限:高频跟踪与金融套期保值技术揭秘 1. 高频跟踪问题提出 在信号处理和控制领域,传统跟踪方法存在物理限制,难以有效应对一些干扰。然而,通过采用合适的模拟模型和多速率技术,有望在低采样率下实现(次)最优跟踪与干扰抑制,这为数字控制系统带来了新的范例。…

作者头像 李华
网站建设 2026/4/14 3:34:32

十字路口的抉择:B端与C端C++开发者的职业路径全解析

在C开发者的职业道路上,一个经典的选择题横亘在前:是深入服务企业与系统的B端(Business) 领域,还是投身于创造直接用户价值的C端(Consumer) 世界?这不仅是一个技术栈的选择&#xff…

作者头像 李华
网站建设 2026/4/14 13:39:36

8、脚本编程中的替代语法与循环结构

脚本编程中的替代语法与循环结构 1. 正则表达式脚本 在脚本编写中,使用正则表达式进行条件测试是一项很实用的技能。例如,我们可以处理美式英语和英式英语中“color”的不同拼写,即“color”和“colour”。以下是实现该功能的脚本代码: if [[ $REPLY =~ colou?r ]] ; …

作者头像 李华