简单数组运算

134 阅读2分钟

const arr = [ { label: "男", value: 1 }, { label: "女", value: 0 }, ];

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



  function f2(arr) {
    // 写代码,得到
    const newArr = []
    arr.forEach(item => {
      newArr.push(item.label)
    })
    return newArr
  }
  const arr1 = f2(arr);
  console.log(arr1);
  // arr2 = ['男', '女']

const 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) {
    // 完成代码
    const index = data.findIndex((item) => item.name === name);
    const str = data[index].pid;
    return data.filter((item) => item.pid === str);
  }
  const arr3 = f(data, "小刘");
  console.log(arr3); //
  //  [{id:"10", name: "小刘", pid:"04", job: "前端工程师"},
  //  {id:"11", name: "小华", pid:"04", job: "后端工程师"},
  //  {id:"12", name: "小李", pid:"04", job: "后端工程师"}]

  // 问题2. 找出 小亮 的所有下属
  function f2(data, name) {
    // 完成代码
    const index = data.findIndex((item) => item.name === name);
    return data.filter((item) => item.pid === data[index].id);
  }
  const arr4 = f2(data, "小亮");
  console.log(arr4); //
  // [{id:"07", name: "小丽", pid:"02", job: "产品经理"},
  // {id:"08", name: "大光", pid:"02", job: "产品经理"}]

  const obj = { label: "男", value: 1, age: 18 };

  function f5(obj) {
    // 写代码,得到
    const arr = []
    Object.keys(obj).forEach(key => arr.push(obj[key]))
    return arr
  }
  const arr5 = f5(obj);
  console.log(arr5);
  // arr = ['男', '1', '18'] // 所有的属性值取出来,保存在数组中
  

4e18dc0e097b1e40e8be12bc0acda85.png