做个简单的增删改查业务

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 定义一个公司
    let company={
      name:'xxx公司',
      // 公司员工
      emps:[ 
               {
                    emp_no:'1001',
                    name:'张三',
                    age:20,
                    gender:'男',
                    job:'后端程序员'
                },
                {
                    emp_no:'1002',
                    name:'李四',
                    age:22,
                    gender:'女',
                    job:'前端程序员'
                },
                {
                    emp_no:'1003',
                    name:'王五',
                    age:25,
                    gender:'男',
                    job:'UI设计师'
                }],
                // 查询员工的方法
                show:function(){
                  let str = '工号    姓名  年龄  性别  职位\n'
                  // 循环员工
                  this.emps.forEach(emp=>{
                    str += `${emp.emp_no}  ${emp.name}  ${emp.age}  ${emp.gender}  ${emp.job}\n`
                  })
                  alert(str)
                },
                // 添加员工的方法
                add:function(){
                  // 注意:要求工号不能重复
                let emp_no = prompt('请输入工号:') 
                if(this.emps.findIndex(r=>r.emp_no===emp_no)>=0){
                    alert('该工号已经存在,请重新输入!')
                    return
                }
                let name = prompt('请输入姓名:')
                let age = parseInt(prompt('请输入年龄:'))
                let gender = prompt('请输入性别:')
                let job = prompt('请输入工作:')
                 // 创建一个员工对象
                 let emp = {
                    emp_no:emp_no,
                    name:name,
                    age:age,
                    gender:gender,
                    job:job
                }
                // 将该员工对象添加到数组中
                this.emps.push(emp)
                alert('添加成功!')
                },
                 删除员工的方法 
                delete:function(){
                // 注意:要求工号必须要存在
                let emp_no = prompt('请输入工号:')
                 // 根据工号查找该员工在数组中的位置
                 let index = this.emps.findIndex(r=>r.emp_no===emp_no)
                  // 判断index必须存在
                if(index>=0){
                    // 删除该位置的员工
                    this.emps.splice(index,1)
                    alert('删除成功!')
                }else{
                    alert('该员工不存在!')
                }
                },
                 // 修改员工
              update:function(){
                // 注意:要求工号必须要存在
                let emp_no = prompt('请输入工号:')
                // 根据工号找到该员工对象
                let emp = this.emps.find(r=>r.emp_no===emp_no)
                if(emp){
                    emp.name = prompt('请重新输入姓名:')
                    emp.age = parseInt(prompt('请重新输入年龄:'))
                    emp.gender = prompt('请重新输入性别:')
                    emp.job = prompt('请重新输入工作:')
                    alert('修改成功!')
                }else{
                    alert('该员工不存在!')
                }
            },
             // 菜单方法
             menu:function(){
                let no = parseInt(prompt(`************欢迎使用${this.name}员工系统************
                1.查询员工 2.添加员工 3.修改员工 4.删除员工 0.退出系统`))
                // 判断选择的操作类型
                switch(no){
                    case 1: 
                        //调用查询员工的方法
                        this.show()
                        break;
                    case 2: 
                        //调用添加员工的方法
                        this.add()
                        break;
                    case 3: 
                        //调用修改员工的方法
                        this.update()
                        break;
                    case 4: 
                        //调用删除员工的方法
                        this.delete()
                        break;
                    case 0: 
                        alert('退出系统')
                        return   //跳出方法
                }
                // 使用递归重新调用menu方法
                this.menu()
            }
    }
     // 调用菜单方法
     company.menu()
  </script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值