图书管理小案例

作者 : 开心源码 本文共1236个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共224人阅读

实现的功能:
图书管理->查找 添加 删除 修改
代码实现:

   // 1.提供少量数组,数组中存放少量书var books = [    {name : '三国演义',author : '罗贯中'},    {name : '水浒传',author : '施耐庵'},    {name : '西游记',author : '吴承恩'},    {name : '红楼梦',author : '曹雪芹'}]// 2.查找for (var i = 0; i < books.length; i++) {    var obj = books[i];    // 判断    if(obj.name == '三国演义'){        console.log(obj);    }}// 3.增加books.push({name:'悟空传',author : '今何在'});console.log(books);// 4.修改for (var i = 0; i < books.length; i++) {    var obj = books[i];    if(obj.name == '红楼梦'){        obj.author = '曹操';    }}console.log(books);// 5.删除for (var i = 0; i < books.length; i++) {    var obj = books[i];    if(obj.name == '西游记'){        // splice:从index位置开始删除几个元素        books.splice(i,1);    }}console.log(books);

函数封装:

// 1.提供一个构造函数function BookManger(books) {    // this = obj;//        this.books = null;    this._init(books);}// 2.设置原型对象BookManger.prototype = {    constructor : BookManger,    // 提供一个初始化的方法    _init : function (books) {        this.books = books || [];    },    getBookByName : function (name) {        for (var i = 0; i < this.books.length; i++) {            var obj = this.books[i];            // 判断            if(obj.name == name){                return obj;            }        }        throw 'Sorry!没有找到这本书!';},    addBook : function (book) {    this.books.push(book);},    updateBookByName : function (name,author) {        // 1.查找 (在原型方法中调用原型方法要用 this)        var book = this.getBookByName(name);        // 2.修改        book.author = author;},    deleteBook : function (name) {    // 1.查找到这本书    var book = this.getBookByName(name);    // 2.获取这本书的索引    var index = this.books.indexOf(book);    // 3.删除    this.books.splice(index,1);}}

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 图书管理小案例

发表回复