如何在 JavaScript 中克隆数组?

开发 前端
JavaScript 提供了很多克隆数组的方法,其中大多数在性能和结果方面都非常相似。以下就是这些方法的简要介绍。

 JavaScript 提供了很多克隆数组的方法,其中大多数在性能和结果方面都非常相似。以下就是这些方法的简要介绍。

[[388363]]

展开运算符

ES6 引入了展开运算符(...),它可能是对数组进行浅拷贝的最简单和最常见的方法。

 

  1. let x = [1, 2, 3, 4]; 
  2. let y = [...x]; 

Array.from()

Array.from() 是一个非常强大的 API,可用来做许多不同的事,包括创建数组的副本。

 

  1. let x = [1, 2, 3, 4]; 
  2. let y = Array.from(x); 

Array.prototype.slice()

与展开运算符类似,Array.prototype.slice() 可用于对数组进行浅拷贝。

 

  1. let x = [1, 2, 3, 4]; 
  2. let y = x.slice(); 

Array.prototype.map()

这是一个非传统的方法,可以用 Array.prototype.map() 通过将数组的每个元素映射到自身,来创建新的数组。

 

  1. let x = [1, 2, 3, 4]; 
  2. let y = x.map(i => i); 

Array.prototype.filter()

同样也可以用 Array.prototype.filter() 返回每个元素的 true 值,从而产生一个包含所有原始数组元素的新数组。

 

  1. let x = [1, 2, 3, 4]; 
  2. let y = x.filter(() => true); 

Object.assign()

最后可以通过 Object.assign(),使用方式和克隆对象完全相同,同样适用于克隆数组。

 

  1. let x = [1, 2, 3, 4]; 
  2. let y = Object.assign([], x); 

 

责任编辑:华轩 来源: 前端先锋
相关推荐

2021-03-11 23:43:20

JavaScript数组开发

2021-06-03 10:00:47

JavaScript 前端数克隆对象

2018-10-11 09:40:53

前端JavaScript编程语言

2020-11-26 08:12:24

JavaScript对象数组

2020-12-08 08:07:41

JavaScript中等分数组

2022-01-21 10:58:39

JavaScriptGolangPython

2024-10-22 15:10:49

2016-08-03 17:23:47

javascripthtml前端

2011-03-21 12:41:41

JavaScript

2024-11-06 08:32:02

JavaScriptTypeScript数据结构

2022-03-15 07:55:09

JavaScript线性仪表图开发

2022-09-12 23:53:53

JavaScript条件判断开发

2015-07-06 09:59:56

JavaScript私有成员

2021-03-29 08:01:20

JavaScript数据结构

2022-07-07 07:22:01

浏览器JavaScript工具

2024-04-11 08:30:05

JavaScript数组函数

2022-10-13 00:03:00

JavaScripSQL函数

2023-06-15 13:01:07

JavaPythonJavaScript

2023-04-26 15:19:36

JavaScripMap数组

2021-02-22 08:19:49

js前端元素
点赞
收藏

51CTO技术栈公众号