|
1 |
| -## JavaScript 数据结构与算法(二)数组结构 |
| 1 | +# JavaScript 数据结构与算法(二)数组 |
2 | 2 |
|
3 | 3 | 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构。
|
4 | 4 | 数组通常情况下用于存储一系列同一种数据类型的值。
|
5 | 5 | 但在 JavaScript 里,数组中可以保存不同类型的值。但我们还是要遵守最佳实践,别这么做(大多数语言都没这个能力)。
|
6 | 6 |
|
7 |
| -### 创建和初始化数组 |
| 7 | +## 创建和初始化数组 |
8 | 8 |
|
9 |
| -- new Array() |
10 |
| - `const daysOfWeek = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday','Thursday', 'Friday', 'Saturday');` |
| 9 | +- `new Array()` |
11 | 10 |
|
12 |
| -- [] |
13 |
| - `const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];` |
| 11 | + ```js |
| 12 | + const daysOfWeek = new Array( |
| 13 | + "Sunday", |
| 14 | + "Monday", |
| 15 | + "Tuesday", |
| 16 | + "Wednesday", |
| 17 | + "Thursday", |
| 18 | + "Friday", |
| 19 | + "Saturday" |
| 20 | + ); |
| 21 | + ``` |
| 22 | + |
| 23 | +- `[]` |
| 24 | + ```js |
| 25 | + const daysOfWeek = [ |
| 26 | + "Sunday", |
| 27 | + "Monday", |
| 28 | + "Tuesday", |
| 29 | + "Wednesday", |
| 30 | + "Thursday", |
| 31 | + "Friday", |
| 32 | + "Saturday", |
| 33 | + ]; |
| 34 | + ``` |
14 | 35 |
|
15 |
| -### 数组常见操作 |
| 36 | +## 数组常见操作 |
16 | 37 |
|
17 |
| -#### 添加元素 |
| 38 | +### 添加元素 |
18 | 39 |
|
19 | 40 | - 添加一个元素到数组的最后位置 `array.push(item)`
|
20 | 41 | - 在数组首位插入一个元素 `array.unshift(item)`
|
21 |
| -- 在指定索引位置插入元素 `array.splice(index.js, 0, item)` |
22 |
| - splice() 第二个参数为 0 时,表示插入数据。 |
| 42 | +- 在指定索引位置插入元素 `array.splice(index, 0, item)` |
| 43 | + > splice() 第二个参数为 0 时,表示插入数据。 |
23 | 44 | ```js
|
24 | 45 | let myArray = [1, 2, 3];
|
25 | 46 | // 在 索引 0 的位置,插入 A
|
26 | 47 | myArray.splice(0, 0, "A");
|
27 | 48 | console.log(myArray); //--> ['A', 1, 2, 3]
|
28 | 49 | ```
|
29 | 50 |
|
30 |
| -#### 删除元素 |
| 51 | +### 删除元素 |
31 | 52 |
|
32 | 53 | - 删除数组最后的元素 `array.pop(item)`
|
33 | 54 | - 删除数组首位的元素 `array.shift(item)`
|
34 | 55 | - 删除指定索引位置的元素 `array.splice(start, number)`
|
35 | 56 | 例如:
|
36 | 57 | ```js
|
37 | 58 | let myArray2 = [1, 2, 3, 4, 5];
|
38 |
| - // 删除索引 3 位置起,2 个元素 |
39 |
| - myArray2.splice(3, 2); |
| 59 | + // 删除索引 4 位置起,2 个元素 |
| 60 | + myArray2.splice(4, 2); |
40 | 61 | console.log(myArray2); //--> [1, 2, 3]
|
41 | 62 | ```
|
42 | 63 |
|
43 | 64 | ### 修改元素
|
44 | 65 |
|
45 |
| -- 修改指定索引位置的元素 `array.splice(index.js, 1, item)` |
| 66 | +- 修改指定索引位置的元素 `array.splice(index, 1, item)` |
46 | 67 | ```js
|
47 | 68 | let myArray3 = [1, 2, 3, 4, 5, 6];
|
48 | 69 | // 修改 索引 1 的位置的元素为 AA
|
49 | 70 | myArray2.splice(1, 1, "AA");
|
50 | 71 | console.log(myArray3); //--> [1, "AA", 3, 4, 5, 6]
|
51 | 72 | ```
|
52 |
| -- 修改指定索引位置的几个元素 `array.splice(index.js, number, item)` |
| 73 | +- 修改指定索引位置的几个元素 `array.splice(index, number, item)` |
53 | 74 | ```js
|
54 | 75 | let myArray4 = [1, 2, 3, 4, 5, 6, 7];
|
55 | 76 | // 在 索引 2 的位置起,修改两个元素为 AA BB
|
|
0 commit comments