JS:js编程题1(*****五颗星)

1.多表关联id查询

需求 : 两个数组,最终输出:

如: ['员工张三,29岁,工作于百度', '员工李四,26岁,工作于阿里巴巴',...]

   <script>
        // 需求 : 两个数组,最终输出:
        // ['员工张三,29岁,工作于百度', '员工李四,26岁,工作于阿里巴巴',...]
        var employees = [{
                name: "张三", // 员工名字
                empId: 0, // 员工id
                age: 29, // 员工年龄
                compId: 1, // 所属公司id
            },
            {
                name: "李四",
                empId: 1,
                age: 26,
                compId: 2,
            },
            {
                name: "王五",
                empId: 2,
                age: 28,
                compId: 1,
            },
            {
                name: "李六",
                empId: 3,
                age: 32,
                compId: 3,
            },
        ];
        var companies = [{
                name: "百度", // 公司名称
                id: 1, // 公司id
            },
            {
                name: "阿里巴巴",
                id: 2,
            },
            {
                name: "腾讯",
                id: 3,
            },
        ];
        // 1.通过参数公司ID查询公司列表,返回公司名称
        // 参数:公司id   返回:公司名称
        function getCompaniesName(id){
            // companies.forEach(item=>{
            //     if(item.id==id){
            //         // console.log(item.name)//百度
            //         return item.name  
            //     }
            // })
            for(let i=0;i<companies.length;i++){
                if(companies[i].id===id){
                    return companies[i].name
                }
            }
        }
        // console.log(getCompaniesName(1))//return的是 undefined,因为forEach无法使用return打断
        // 目标数据结构['员工张三,29岁,工作于百度', '员工李四,26岁,工作于阿里巴巴',...]
        let empData=[]
        employees.forEach(item=>{
            console.log(`员工${item.name},年龄:${item.age}岁,工作于${getCompaniesName(item.compId)}`)
            empData.push(`员工${item.name},年龄:${item.age}岁,工作于${getCompaniesName(item.compId)}`)
        })
        console.log(empData)
</script>

2.数组对象转二维数组

需求: 请把下列的数组变成是: [['苹果','玉米', '巴旦木'], ['香蕉', '西兰花', '坚果']....]

<script>
  // 需求: 请把下列的数组变成是: [['苹果','玉米', '巴旦木'], ['香蕉', '西兰花', '坚果']....]      
  let food = [
            { fruit: "苹果", veg: "玉米", nut: "巴旦木" },
            { fruit: "香蕉", veg: "西兰花", nut: "坚果" },
            { fruit: "火龙果", veg: "土豆", nut: "杏仁" },
            { fruit: "榴莲", veg: "花菜", nut: "核桃" }
        ];
        // 实现1:forEach和Object.values()
        // let foodArr=[]
        // food.forEach(item=>{
        //     foodArr.push(Object.values(item))
        // })
        // console.log(foodArr)
        // 实现2:map和Object.values()
                // map的使用:
                // let arr=[1,2,3,4]
                // let arr1=arr.map(item=>{
					// 将每一次遍历返回的结果,合并成一个数组打包返回
                //     return item+1
        

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

前端面试题 文章被收录于专栏

前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理

全部评论

相关推荐

码不完,根本码不完啊。。。
投递4399游戏等公司10个岗位
点赞 评论 收藏
分享
08-10 12:43
临沂大学 Java
等闲_:1,换一个模版,这个模版没有人会看的 2,项目太烂大街了,也太简单了,找AI优化一下描述,项目可以烂大街,但是简历不能烂大街,或者找项目换一下 3,如果没什么奖的话,把学校放到下面,添加一个个人描述,简单些,让简历丰富一些 4,改完之后海投试试,但是我真的很建议别走java了,可以试试前端
点赞 评论 收藏
分享
09-02 11:51
门头沟学院 Java
网上随便找了个小米的内推码就投了,结果秒挂,有这么快嘛。。。。
Celia_小火花:只能说他工作效率还挺高
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
1
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务