JavaScript中的数组是最常见的数据结构之一,但在ES6及以后版本中,JavaScript数组经历了一些重要的变化。本文将深入探讨这些新特性以及如何使用它们,同时还会介绍阵列原型和地图的概念。
新的JavaScript数组(N)
1. Spread Syntax
Spread Syntax是ES6引入的一个新特性,可以用于展开数组、对象和类数组对象。它使用三个点(...
)来表示。例如:
----- ---- - --- -- --- ----- ---- - --- -- --- ----- ---- - --------- --------- -- --- -- -- -- -- --
可以看到,通过展开两个数组,我们可以将它们合并成一个新的数组。
除此之外,Spread Syntax还可以用于复制数组,例如:
----- ---- - --- -- --- ----- ---- - ---------- -- --- -- --
2. Array.from()
Array.from()方法可以从类数组对象或可迭代对象创建新的数组实例。例如:
----- --- - -------- ----- --- - ---------------- -- ----- ---- ---- ---- ----
Array.from()方法还可以接受第二个参数,用于对每个元素进行映射和转换。例如:
----- ---- - --- -- --- ----- ---- - ---------------- - -- - - --- -- --- -- --
3. Array.of()
Array.of()方法可以创建一个具有可变数量参数的新数组实例。例如:
----- ---- - ----------- -- --- -- --- -- -- ----- ---- - ------------ -- ---
阵列原型
JavaScript中的每个数组都有一个原型,这个原型包含了很多有用的方法。下面是一些常见的阵列原型方法。
1. Array.prototype.map()
Array.prototype.map()方法创建一个新数组,其结果是对调用数组中的每个元素执行提供的函数。例如:
----- ---- - --- -- --- ----- ---- - ---------- -- - - --- -- --- -- --
2. Array.prototype.filter()
Array.prototype.filter()方法创建一个新数组,其中包含调用数组中符合条件的所有元素。例如:
----- ---- - --- -- --- ----- ---- - ------------- -- - - --- -- --- --
3. Array.prototype.reduce()
Array.prototype.reduce()方法对数组中的元素进行归并操作,并返回一个值。例如:
----- ---- - --- -- --- ----- --- - ----------------- ---- -- --- - ---- --- -- -
地图
Map是ES6中的另一个新特性,它可以用于存储键值对,并且可以使用任何JavaScript值作为键或值。下面是一些常见的Map方法。
1. Map.prototype.set()
Map.prototype.set()方法将键/值对添加到Map对象中。例如:
----- --- - --- ------ -------------- --- -------------- ---
2. Map.prototype.get()
Map.prototype.get()方法根据给定的键返回相应的值。例如:
----- --- - --- ------ -------------- --- -------------- --- ---------------------------- -- - ---------------------------- -- -
3. Map.prototype.forEach()
Map.prototype.forEach()方法遍历Map对象中的每个键/值对,并执行提供的回调函数。例如:
----- --- - --- - ----------------------------------------------------------- -------- ---------------------------------------------------------------------------------------