Menu
CoddyTech

项目概览

本课属于 Coddy JavaScript 学习旅程的“逻辑与流程”单元。第 42 课,共 65 课。

challenge icon

挑战

简单

你将创建一个图书管理系统。先使用提供的数据初始化系统,并创建主函数结构。

创建一个名为 libraryData 的变量,使用以下确切的初始数据:

{
    books: [
        {
            id: 1,
            title: "The Great Gatsby",
            author: "F. Scott Fitzgerald",
            year: 1925,
            genre: "Fiction",
            isRead: false,
            rating: 0,
            borrowed: false,
            borrowedBy: "",
            borrowDate: ""
        }
    ],
    readers: [
        {
            name: "John Smith",
            favoriteGenre: "Fiction",
        }
    ]
}

现在按以下步骤操作:

创建一个名为 manageLibrary 的函数,它接受两个参数:

  • actions(字符串数组)
  • data(对象数组)

函数应按顺序处理 actions 数组中的每个操作,并使用 data 数组中相同索引处对应的数据对象。例如,actions[i] 处的操作使用 data[i] 处的数据。

创建一个循环,遍历 actions 数组中的每个操作,然后在循环内:

  1. 创建一个空的结果数组,用来保存所有结果
  2. 创建一个 switch 语句,用来处理不同的情况
  3. 在 switch 语句中添加一个 printBooks case,将 libraryData 中当前的图书添加到 results 数组
  4. 在 switch 语句中添加一个 printReaders case,将 libraryData 中当前的读者添加到 results 数组
  5. 添加一个 default case,将 “Invalid action!” 添加到 results 数组

亲手试试

// 初始库数据
let libraryData = {}


function manageLibrary(actions, data) {
    let results = [];

    for (let i = 0; i < actions.length; i++) {
        const currentAction = actions[i];
        const currentData = data[i];
        
        switch (currentAction) {
            case 'printBooks':
                // 在这里编写你的代码
            case 'printReaders':
                // 在这里编写你的代码
            default:
                results.push("Invalid action!");
        }
    }
    return results;
}

逻辑与流程中的所有课

自己练习: JavaScript 在线编译器