在 JavaScript 中,数据结构的选择和实现对于编写高效、可维护的代码至关重要。JavaScript 提供了一系列内置的数据结构,同时也支持自定义复杂的数据结构。以下是 JavaScript 中常用的一些数据结构及其基本介绍:
内置数据结构
1. 数组(Array)
数组是一种线性数据结构,用于存储一系列有序的元素。JavaScript 的数组实际上是对象,支持动态增长和索引访问。
特点:
- 动态大小
- 索引访问
- 支持多种内置方法(如
push
,pop
,shift
,unshift
,splice
等)
示例:
let arr = [1, 2, 3];
arr.push(4); // 添加元素
console.log(arr.pop()); // 移除并返回最后一个元素
console.log(arr[0]); // 访问第一个元素
2. 字符串(String)
字符串是不可变的字符序列,通常用于表示文本信息。JavaScript 中的字符串可以用单引号或双引号表示。
特点:
- 不可变性
- 索引访问
- 支持多种内置方法(如
split
,join
,trim
等)
示例:
let str = "Hello, world!";
console.log(str.split(", ")[1]); // 分割字符串
3. 对象(Object)
对象是一种键值对集合,用于存储和管理相关联的数据。JavaScript 中的对象是哈希表的实现形式,提供了灵活的数据存储机制。
特点:
- 键值对存储
- 动态属性
- 支持原型继承
示例:
let obj = {
name: "Alice", age: 30 };
console.log(obj.name); // 访问属性
obj.age = 31; // 修改属性
4. Map
Map
是 ES6 引入的新数据结构,类似于对象,但它允许任何类型(对象或者原始值)的值作为键。
特点:
- 键值对存储
- 支持迭代器协议
- 任何值(对象或者原始值)都可以作为键或值
示例:
const myMap = new Map();
const keyString = "a string";