数组的方法应用

84 阅读1分钟

题一

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

题二

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

题三

 // 问题1. 找出 与 小刘 处于统一领导下的同事 
    function f (data, name) {
      // 完成代码
     return data.filter(item => item.pid === data.find(item => item.name === name).pid ? item : false)
    }
    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: "后端工程师"}]
    
 // 问题2. 找出 小亮 的所有下属 
    function f2 (data, name) {
      // 完成代码
      return data.filter(item => item.pid === data.find(item => item.name === name).pid ? item : false)
    }
    const arr1 = f2(data, '小亮')
    console.log(arr1) // 
// [{id:"07", name: "小丽", pid:"02", job: "产品经理"},
// {id:"08", name: "大光", pid:"02", job: "产品经理"}]

题四

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

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