数组的基本操作
1. 创建数组
数组是存储一组有序数据的容器。可以用 []
语法创建数组:
1 2
| let fruits = ["apple", "banana", "mango"]; let numbers = [1, 2, 3, 4, 5];
|
- 数组可以包含任意类型的数据,甚至可以混合数据类型:
1
| let mixedArray = [1, "hello", true, { name: "Alice" }];
|
2. 访问数组元素
数组的索引从 0
开始,可以通过索引访问和修改数组元素:
1 2 3 4 5
| let fruits = ["apple", "banana", "mango"]; console.log(fruits[0]);
fruits[1] = "orange"; console.log(fruits);
|
3. 数组的常用方法
3.1 添加和删除元素
- push():在数组末尾添加元素,返回新长度。
- pop():删除并返回数组最后一个元素。
- unshift():在数组开头添加元素,返回新长度。
- shift():删除并返回数组第一个元素。
1 2 3 4 5
| let numbers = [1, 2, 3]; numbers.push(4); numbers.pop(); numbers.unshift(0); numbers.shift();
|
3.2 查找和操作
- indexOf():返回元素首次出现的索引,找不到时返回 -1。
- includes():检查数组是否包含某个元素,返回布尔值。
1 2 3
| let fruits = ["apple", "banana", "mango"]; fruits.indexOf("banana"); fruits.includes("grape");
|
- slice():返回指定开始到结束索引之间的数组副本,不会修改原数组。
- splice():在指定位置删除或添加元素,会修改原数组。
1 2 3 4
| let numbers = [1, 2, 3, 4, 5]; let sliced = numbers.slice(1, 3); numbers.splice(1, 2, "a", "b"); console.log(numbers);
|
3.3 数组的遍历
- forEach():遍历数组的每个元素并执行回调函数。
1 2 3 4
| let fruits = ["apple", "banana", "mango"]; fruits.forEach((fruit, index) => { console.log(`水果: ${fruit}, 索引: ${index}`); });
|
- map():创建一个新数组,结果为每个元素经过回调函数处理后的值。
1 2
| let numbers = [1, 2, 3]; let doubled = numbers.map(num => num * 2);
|
- filter():创建一个新数组,包含通过回调函数测试的所有元素。
1 2
| let numbers = [1, 2, 3, 4, 5]; let evens = numbers.filter(num => num % 2 === 0);
|
- reduce():对数组中的所有元素执行回调函数,将其累计为单一值。
1 2
| let numbers = [1, 2, 3, 4]; let sum = numbers.reduce((acc, curr) => acc + curr, 0);
|
对象的基本操作
1. 创建对象
对象是键值对的集合,用于描述具有特征的实体。可以使用 {}
来创建对象:
1 2 3 4 5
| let person = { name: "Alice", age: 25, city: "New York" };
|
2. 访问和修改对象属性
可以使用 点表示法 或 方括号表示法 访问和修改对象属性:
1 2 3 4 5 6 7 8
| let person = { name: "Alice", age: 25 };
console.log(person.name); person.age = 30; console.log(person["age"]);
|
3. 动态添加和删除属性
可以随时为对象添加新的属性,或用 delete
删除某个属性:
1 2 3
| person.country = "USA"; delete person.city; console.log(person);
|
4. 遍历对象属性
可以用 for...in
循环遍历对象所有的属性:
1 2 3
| for (let key in person) { console.log(`${key}: ${person[key]}`); }
|
5. 常用对象方法
- Object.keys():返回对象的所有属性名(键),组成数组。
- Object.values():返回对象的所有属性值,组成数组。
- Object.entries():返回对象的键值对数组。
1 2 3 4 5 6 7 8
| let person = { name: "Alice", age: 25 };
console.log(Object.keys(person)); console.log(Object.values(person)); console.log(Object.entries(person));
|