数组对象转换

1.输入  var arr = [{ label: '男', value: 1 }, { label: '女', value: 0 }]

   输出  obj = {'1': '男', '0': '女'}

  <script>
    var arr = [{ label: '男', value: 1 }, { label: '女', value: 0 }]

    function f (arr) {
      // 写代码,得到
      let obj2 = {}
      arr.forEach(item => {
        obj2[item.value] = item.label
      })
      return obj2
    }
    var obj = f(arr);
    console.log(obj)
 // obj = {'1': '男', '0': '女'}
  </script>

2.输入    var arr = [{ label: '男', value: 1 }, { label: '女', value: 0 }]

   输出    arr2 = ['男', '女']

  <script>
    var arr = [{ label: '男', value: 1 }, { label: '女', value: 0 }]

    function f (arr) {
      // 写代码,得到
      return arr.map(item => item.label)
    }
    var arr2 = f(arr);
    console.log(arr2)
 // arr2 = ['男', '女']
  </script>

 3.    问题1. 找出 与 小刘 处于统一领导下的同事

        问题2. 找出 小亮 的所有下属

  <script>
    // 如果A的pid == B的id
    // A是B的下属

    // 如果A的pid == B的pid
    // A和B是同事

    var data = [
      { id: "01", name: "张大大", pid: "", job: "项目经理" },
      { id: "02", name: "小亮", pid: "01", job: "产品leader" },
      { id: "03", name: "小美", pid: "01", job: "UIleader" },
      { id: "04", name: "老马", pid: "01", job: "技术leader" },
      { id: "05", name: "老王", pid: "01", job: "测试leader" },
      { id: "06", name: "老李", pid: "01", job: "运维leader" },
      { id: "07", name: "小丽", pid: "02", job: "产品经理" },
      { id: "08", name: "大光", pid: "02", job: "产品经理" },
      { id: "09", name: "小高", pid: "03", job: "UI设计师" },
      { id: "10", name: "小刘", pid: "04", job: "前端工程师" },
      { id: "11", name: "小华", pid: "04", job: "后端工程师" },
      { id: "12", name: "小李", pid: "04", job: "后端工程师" },
      { id: "13", name: "小赵", pid: "05", job: "测试工程师" },
      { id: "14", name: "小强", pid: "05", job: "测试工程师" },
      { id: "15", name: "小涛", pid: "06", job: "运维工程师" }
    ]

    // 问题1. 找出 与 小刘 处于统一领导下的同事 
    function f (data, name) {
      // 完成代码
      let arr2 = []
      const index = data.findIndex(item => item.name === name)
      arr2 = data.filter(item => item.pid === data[index].pid)
      return arr2
    }
    const arr = f(data, '小刘')
    console.log(arr) //  
    //  [{id:"10", name: "小刘", pid:"04", job: "前端工程师"},
    //  {id:"11", name: "小华", pid:"04", job: "后端工程师"},
    //  {id:"12", name: "小李", pid:"04", job: "后端工程师"}]

  </script>
  <script>
    // 如果A的pid == B的id
    // A是B的下属

    // 如果A的pid == B的pid
    // A和B是同事

    var data = [
      { id: "01", name: "张大大", pid: "", job: "项目经理" },
      { id: "02", name: "小亮", pid: "01", job: "产品leader" },
      { id: "03", name: "小美", pid: "01", job: "UIleader" },
      { id: "04", name: "老马", pid: "01", job: "技术leader" },
      { id: "05", name: "老王", pid: "01", job: "测试leader" },
      { id: "06", name: "老李", pid: "01", job: "运维leader" },
      { id: "07", name: "小丽", pid: "02", job: "产品经理" },
      { id: "08", name: "大光", pid: "02", job: "产品经理" },
      { id: "09", name: "小高", pid: "03", job: "UI设计师" },
      { id: "10", name: "小刘", pid: "04", job: "前端工程师" },
      { id: "11", name: "小华", pid: "04", job: "后端工程师" },
      { id: "12", name: "小李", pid: "04", job: "后端工程师" },
      { id: "13", name: "小赵", pid: "05", job: "测试工程师" },
      { id: "14", name: "小强", pid: "05", job: "测试工程师" },
      { id: "15", name: "小涛", pid: "06", job: "运维工程师" }
    ]
    // 问题2. 找出 小亮 的所有下属
     function f2 (data, name) {
      // 完成代码
      let pid = 'undefined'
      let arr2 = []
      data.forEach(item => {
        if (item.name === name) {
          pid = item.id
        }
        if (item.pid === pid) {
          arr2.push(item)
        }
      });
      return arr2

    }
    const arr = f2(data, '小亮')
    console.log(arr) // 
// [{id:"07", name: "小丽", pid:"02", job: "产品经理"},
// {id:"08", name: "大光", pid:"02", job: "产品经理"}]  
  </script>

4.输入    var obj = { label: '男', value: 1, age: 18 }

   输出    arr = ['男', '1', '18']

  <script>
    var obj = { label: '男', value: 1, age: 18 }

    function f (obj) {
      // 写代码,得到
      return Object.values(obj)
    }
    var arr = f(obj);
    console.log(arr)
 // arr = ['男', '1', '18'] // 所有的属性值取出来,保存在数组中
  </script>

5.进入主页时,加载了哪些组件

猜你喜欢

转载自blog.csdn.net/weixin_46669844/article/details/128402307