作业day1

<!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 arr = [{
            label: '男',
            value: 1
        }, {
            label: '女',
            value: 0
        }]

        function f(arr) {
            // 写代码,得到
            // 新建对象
            // let obj1 = {}
            // arr.forEach(item => {
            //     // console.log(item)
            //     let arr1 = (Object.values(item))
            //         // console.log(arr1);
            //     obj1[arr1[1]] = arr1[0]
            // });
            return arr.reduce((pre, item) => {
                // console.log(pre);
                pre[Object.values(item)[1]] = Object.values(item)[0]
                return pre
            }, {})

        }
        let obj = f(arr);
        console.log(obj);
        // obj2 = {'1': '男', '0': '女'}
    </script>

</html>
<!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 arr = [{
            label: '男',
            value: 1
        }, {
            label: '女',
            value: 0
        }]

        function f(arr) {
            let newarr = []
                // 写代码,得到
            let arr1 = arr.map(item => {
                // console.log(item.label);
                newarr.push(item.label)

                // let arr2 = Object.values(item)
                // newarr.push(arr2[0])
            })
            return newarr
        }
        let arr3 = f(arr);
        console.log(arr3)
            // arr2 = ['男', '女']
    </script>
</body>

</html>
<!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>
        // 如果A的pid == B的id
        // A是B的下属

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

        let 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) {
            // 完成代码
            // 1.创建数组
            let newarr = []
                // 2.筛选判断
            let a1 = data.filter(item => {
                if (item.pid === '04') {
                    // console.log(item);
                    newarr.push(item)
                }
            })
            return newarr
        }
        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) {
            // 完成代码
            // 1.创建数组
            let newarr = []
                // 2.筛选
            let a2 = data.filter(item => {
                    return item.name === name
                })
                // console.log(a2);
                // 3.遍历判断
            data.forEach(item => {
                if (item.pid === a2[0].id) {
                    // console.log(item);
                    newarr.push(item)
                }
            })
            return newarr
        }
        const arr1 = f2(data, '小亮')
        console.log(arr1) //  
            // [{id:"07", name: "小丽", pid:"02", job: "产品经理"},
            // {id:"08", name: "大光", pid:"02", job: "产品经理"}]
    </script>
</body>

</html>
<!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>
        var obj = {
            label: '男',
            value: 1,
            age: 18
        }

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

</html>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值