第4章: 数组和对象
数组 (Array)
数组用于存储多个值,这些值可以是任何类型。
创建数组
// 创建空数组
let arr1 = [];
let arr2 = new Array();
// 创建包含元素的数组
let fruits = ["苹果", "香蕉", "橙子"];
let numbers = [1, 2, 3, 4, 5];
let mixed = [1, "hello", true, null];
访问数组元素
let fruits = ["苹果", "香蕉", "橙子"];
console.log(fruits[0]); // 输出: 苹果
console.log(fruits[1]); // 输出: 香蕉
console.log(fruits[2]); // 输出: 橙子
常用数组方法
let fruits = ["苹果", "香蕉", "橙子"];
// 添加元素
fruits.push("葡萄"); // 在末尾添加
fruits.unshift("草莓"); // 在开头添加
// 删除元素
fruits.pop(); // 删除末尾元素
fruits.shift(); // 删除开头元素
// 数组长度
console.log(fruits.length); // 输出数组长度
// 查找元素索引
console.log(fruits.indexOf("香蕉")); // 输出: 1
// 遍历数组
fruits.forEach(function(item, index) {
console.log(index + ": " + item);
});
对象 (Object)
对象是键值对的集合,用于存储相关数据和方法。
创建对象
// 创建空对象
let obj1 = {};
let obj2 = new Object();
// 创建包含属性的对象
let person = {
name: "张三",
age: 25,
city: "北京"
};
访问对象属性
let person = {
name: "张三",
age: 25,
city: "北京"
};
// 点表示法
console.log(person.name); // 输出: 张三
console.log(person.age); // 输出: 25
// 方括号表示法
console.log(person["city"]); // 输出: 北京
修改和添加属性
let person = {
name: "张三",
age: 25
};
// 修改属性
person.age = 26;
person["name"] = "李四";
// 添加新属性
person.city = "上海";
person.email = "test@example.com";
// 删除属性
delete person.email;
对象方法
let person = {
name: "张三",
age: 25,
greet: function() {
return "你好,我是" + this.name;
},
celebrateBirthday: function() {
this.age++;
return this.age;
}
};
console.log(person.greet()); // 输出: 你好,我是张三
console.log(person.celebrateBirthday()); // 输出: 26
数组 vs 对象
- 数组: 有序的元素列表,通过索引访问
- 对象: 无序的键值对集合,通过键名访问