TypeScript 数组拷贝(复制)的方式有几种
2026/5/26 10:39:32 网站建设 项目流程
方法是否生成新数组是否改变原数组适用场景
[...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 本质是“筛选”,不适合单纯拷贝数组,只是顺手也能做浅拷贝。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询