Javascript 内置数据结构
本文将介绍 JavaScript 中一些现成可用的数据结构(之所以说是现成的,是因为你无需自己编写这些数据结构)。我们还将介绍一些用于处理这些数据结构的方法。
JavaScript 内置支持以下数据结构:
- 大批
- 放
- 地图
大批
数组是元素的集合。在 JavaScript 中,数组可以包含不同类型的数据。但实际上,你遇到的数组大多只包含相同类型的数据。
创建数组有三种方法。
数组操作
-
访问数组元素:
数组元素都有一个索引,索引从 0 开始,到 array.length - 1 结束。要访问任何特定索引处的元素,请使用以下语法 arrName[index]。 -
要向已有的数组中添加元素,请使用 array.push()。
-
要查找数组中的元素数量,请使用 array.length 属性。
-
要检查元素是否存在,请使用 array.indexOf() 或 array.includes()。
-
要从数组中删除元素,我们可以使用 `array.splice()` 方法。如果要删除最后一个元素,可以使用 `array.pop()` 方法。`splice` 方法会
修改现有数组,要删除特定索引处的元素,可以使用 `array.splice(index, 1)`。 -
你可以使用 array.concat() 方法合并两个数组。
放
与数组类似,集合也是元素的集合,区别在于集合中的一个值只会出现一次。
您可以按如下方式创建集合:
let set = new Set([1, 2, 3, 4, 5, 6, 6, 6])
套装将包含1、2、3、4、5、6。
集合运算
- 要获取集合中元素的数量,请使用 Set 的 size 属性(set.size)。
- 要添加值,请使用 set.add(),它会返回集合。
- 要删除一个元素,请使用 set.delete(value);要删除集合中的所有元素,请使用 set.clear()。
当您需要一组唯一的项目时,Set 非常有用;如果您使用数组来完成相同的任务,则需要额外的逻辑来消除重复项。
地图
它是由键值对组成的集合,那么它和对象一样吗?
从表面上看,它们似乎相同,但实际上存在一些差异。
-
对象的键只能是字符串,但映射则不然。
-
Map 中的键是按插入顺序存储的。
-
您还可以使用 size 属性获取 Map 的大小。
-
Map 是可迭代的,所以可以直接对 Map 使用 .forEach 方法。而对于对象,你需要先获取键才能获取该键对应的值。
-
除此之外,Map 原型还有一些辅助方法。
例如,要检查某个键是否存在于映射中,可以使用
map.has(key)。
您可以按如下方式创建地图:
let map = new Map([['name', 'John'], ['age', '21']])
地图操作
- 要获取 Map 中的元素数量,请使用 size 属性。
- 你不能像访问对象那样直接访问映射表中的值。你需要使用映射表的 .get() 方法。
要向地图添加值,需要使用 .set() 方法。
既然你已经了解了这些数据结构的基础知识,那就去尝试一下,实现一些实际功能吧。
参考
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
如果你喜欢这篇文章,请分享。
文章来源:https://dev.to/kartik2406/built-in-data-structs-in-javascript-hhl
