数组
创建数组
使用字面量语法 [] 或者 new Array() 创建数组。
使用字面量语法创建数组示例:
使用 new Array()创建数组示例:
添加或删除元素
-
使用
push()方法在数组末尾添加一个或多个元素。 -
使用
unshift()方法在数组开头添加一个或多个元素。 -
使用
pop()方法在数组末尾删除一个元素。 -
使用
shift()方法在数组开头删除一个元素。 -
使用
splice()方法修改数组,可以删除、插入或替换元素。 -
使用
slice()方法创建一个新的数组,包含原始数组的指定部分。
二维数组和多维数组
二维数组是指数组中的每个元素都是一个数组。 例如:
多维数组是指数组中的每个元素是一个数组,形成了多个维度的嵌套。 例如:
常用的数组方法
-
concat(): 将多个数组或值合并为一个新数组。 -
join(): 将数组的所有元素连接为一个字符串。 -
indexOf(): 返回指定元素首次出现的索引。 -
lastIndexOf(): 返回指定元素最后一次出现的索引。 -
includes(): 判断数组是否包含指定元素。 -
forEach(): 遍历数组的每个元素并执行回调函数。 -
map(): 创建一个新数组,包含对原数组元素进行处理后的结果。 -
filter(): 创建一个新数组,包含符合条件的原数组元素。 -
reduce(): 对数组的元素进行累积计算并返回结果。 -
sort(): 对数组元素进行排序。sort 接收一个比较函数:
(a, b) => number比较函数的返回值有三种情况:
- 返回值小于 0,表示 a 应该在 b 之前。
- 返回值等于 0,表示 a 和 b 的顺序不变。
- 返回值大于 0,表示 a 应该在 b 之后。
-
reverse(): 颠倒数组元素的顺序。 -
every(): 判断数组的每个元素是否都满足指定条件。 -
some(): 判断数组是否至少有一个元素满足指定条件。 -
find(): 返回数组中满足条件的第一个元素。 -
findIndex(): 返回数组中满足条件的第一个元素的索引。 -
filter(): 返回数组中满足条件的所有元素组成的新数组。
栈
栈(Stack)是一种常见的数据结构,它遵循先进后出(LIFO)的原则。
- 栈顶:栈顶指的是栈中最新添加的元素,也就是最后一个入栈的元素。
- 栈底:栈底指的是栈中最早添加的元素,也就是最先入栈的元素。
栈的创建
常用方法:
push(element):将元素压入栈顶。pop():弹出并返回栈顶元素。peek():返回栈顶元素,但不对栈进行修改。isEmpty():判断栈是否为空,如果栈中没有任何元素,返回 true;否则,返回 false。size():返回栈中元素的个数。clear():清空栈,移除所有元素。
实现方式:
使用方式:
栈的应用
-
函数调用:JavaScript 调用栈(Call Stack)
-
进制转换:
队列
队列(Queue)是一种常见的数据结构,遵循先进先出(FIFO)的原则。类似于生活中排队的概念,最先进入队列的元素将首先被移除。