探索 JavaScript 中的数组和对象
第六天:探索 JavaScript 中的数组和对象
**日期:2024 年 12 月 13 日**
欢迎来到 JavaScript 之旅的第 6 天!今天,我们将深入研究 JavaScript 中的两个基本数据结构:**数组** 和 **对象**。这些结构构成了现代 Web 开发中数据操作的支柱。通过掌握数组和对象,您将解锁有效存储、访问和转换数据的强大方法。
1.什么是数组?
**数组** 是存储在连续内存位置的项目(称为元素)的集合。在 JavaScript 中,数组用途广泛,可以容纳混合数据类型。
创建数组
// Empty array let emptyArray = []; // Array with initial elements let fruits = ["Apple", "Banana", "Cherry"]; console.log(fruits); // Output: ["Apple", "Banana", "Cherry"] // Mixed data types let mixedArray = [42, "Hello", true]; console.log(mixedArray); // Output: [42, "Hello", true]
2. 操作数组
添加和删除元素
**例子:**
let numbers = [1, 2, 3]; numbers.push(4); // Adds 4 to the end console.log(numbers); // Output: [1, 2, 3, 4] numbers.pop(); // Removes the last element console.log(numbers); // Output: [1, 2, 3] numbers.unshift(0); // Adds 0 to the beginning console.log(numbers); // Output: [0, 1, 2, 3] numbers.shift(); // Removes the first element console.log(numbers); // Output: [1, 2, 3]
3. 常用数组方法
map:转换数组中的每个元素。
let nums = [1, 2, 3, 4]; let squares = nums.map(num => num * num); console.log(squares); // Output: [1, 4, 9, 16]
filter:根据条件过滤元素。
let ages = [12, 18, 22, 16]; let adults = ages.filter(age => age >= 18); console.log(adults); // Output: [18, 22]
Reduce:将数组缩减为单个值。
let numbers = [1, 2, 3, 4]; let sum = numbers.reduce((acc, curr) => acc + curr, 0); console.log(sum); // Output: 10
4.什么是对象?
**对象** 是属性的集合,其中每个属性都是一个键值对。对象非常适合表示具有属性的现实世界实体。
创建对象
let person = { name: "Arjun", age: 22, isStudent: true, }; console.log(person.name); // Output: Arjun console.log(person["age"]); // Output: 22
5. 操纵物体
添加和更新属性
let car = { brand: "Tesla", }; car.model = "Model 3"; // Adding a new property car.brand = "Ford"; // Updating a property console.log(car); // Output: { brand: "Ford", model: "Model 3" }
删除属性
delete car.model; console.log(car); // Output: { brand: "Ford" }
6. 常用对象方法
迭代对象
**例子:**
let student = { name: "Arjun", grade: "A", age: 20 }; console.log(Object.keys(student)); // Output: ["name", "grade", "age"] console.log(Object.values(student)); // Output: ["Arjun", "A", 20] console.log(Object.entries(student)); // Output: [["name", "Arjun"], ["grade", "A"], ["age", 20]]
7. 数组与对象
8. 现实世界的例子
示例 1:使用数组的待办事项列表
let tasks = ["Learn JavaScript", "Write an article", "Create a project"]; tasks.push("Read a book"); console.log(tasks); // Output: ["Learn JavaScript", "Write an article", "Create a project", "Read a book"]
示例 2:使用对象表示人
let employee = { name: "Arjun", position: "Software Engineer", salary: 70000, }; console.log(`${employee.name} is a ${employee.position}`); // Output: Arjun is a Software Engineer
示例 3:组合数组和对象
let library = [ { title: "1984", author: "George Orwell" }, { title: "To Kill a Mockingbird", author: "Harper Lee" }, ]; library.forEach(book => console.log(`${book.title} by ${book.author}`)); /* Output: 1984 by George Orwell To Kill a Mockingbird by Harper Lee */
9. 关键要点
第六天的练习
下一步
在**第 7 天**,我们将重点关注**事件和 DOM** — 为您的 Web 应用程序带来交互性。明天见!