目錄
- JS數組Array
- 新建數組
- 一維數組
- 二維數組
- reverse()
- 在數組末尾插入:push()
- 在數組末尾刪除:pop()
- 在數組開頭插入:unshift()
- 從數組開頭刪除一個元素shift()
- splice()
- Map
- Set
JS數組Array
判斷數組相等不能用===,要循環判斷
新建數組
一維數組
- 用數組字面量 []:const arr2 = [1, 2, 3];
- 用 new Array() 構造函數:const arr3 = new Array(1, 2, 3);
二維數組
const rows = 3, cols = 4;
const matrix = Array.from({ length: rows }, () => Array(cols).fill(0));
console.log(matrix);
// [
// [0, 0, 0, 0],
// [0, 0, 0, 0],
// [0, 0, 0, 0]
// ]
reverse()
reverse() 是數組(Array)的方法,用于反轉數組的順序
const arr = [1, 2, 3, 4];
const reversed = arr.reverse();console.log(reversed); // [4, 3, 2, 1]
console.log(arr); // [4, 3, 2, 1] —— 原數組也變了
在數組末尾插入:push()
const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1, 2, 3, 4]
在數組末尾刪除:pop()
const arr = [1, 2, 3];
arr.pop();
console.log(arr); // [1, 2]
在數組開頭插入:unshift()
const arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // [0, 1, 2, 3]
從數組開頭刪除一個元素shift()
const arr = [1, 2, 3];
const removed = arr.shift();console.log(removed); // 1
console.log(arr); // [2, 3]
splice()
array.splice(start, deleteCount, item1, item2, …)
start: 插入的起始位置索引
deleteCount: 刪除元素個數(0 表示不刪除)
item1, item2…: 要插入的元素
const arr = [1, 2, 3];
arr.splice(1, 0, 'a'); // 在索引1處插入'a'
console.log(arr); // [1, 'a', 2, 3]
Map
//創建Map
const map = new Map();
//添加元素
map.set('name', 'Alice');
map.set('age', 25);
//讀取元素
map.get('name'); // "Alice"
//判斷是否存在鍵
map.has('age'); // true
//刪除鍵
map.delete('name'); // true
遍歷
for (const [key, value] of map) {console.log(`${key} = ${value}`);
}
也可以從二維數組初始化
const map2 = new Map([['x', 10],['y', 20]
]);
Set
//創建set
const mySet = new Set();
//添加元素
mySet.add(1);
mySet.add(2);
console.log(mySet); // Set(2) { 1, 2 }
//判斷是否存在
set.has(1);
//刪除元素
set.delete(2);
遍歷set
for (const value of set) {console.log(value);
}
初始化 Set(自動去重)
const set2 = new Set([1, 2, 2, 3]); // Set(3) {1, 2, 3}