关于数组的一些题---获取数组对象的各种数据

news2024/11/21 0:22:21

关于数组的一些题—获取数组对象的各种数据


题目1:将数组对象中的属性值提出来生成新的对象

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

解决:foreach 遍历数组,获取键值存储到对象中

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

在这里插入图片描述


题目2:获取需要的属性值

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

解决:map 遍历数组,返回需要的属性值

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

在这里插入图片描述


题目3:数组对象查询

// 如果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){
  // 完成代码
}
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){
  // 完成代码
  
  
}
const arr = f2(data, '小亮')
console.log(arr) // 
// [{id:"07", name: "小丽", pid:"02", job: "产品经理"},
// {id:"08", name: "大光", pid:"02", job: "产品经理"}]

解决:find 函数寻找满足条件的数据,根据数据filter 筛选结果

<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) {
      // 完成代码
      return data.filter(item => {
        return item.pid === data.find(item => {
          return item.name === name
        }).pid
      })
    }
    const arr1 = f(data, '小刘')
    console.log(arr1) // 
    //  [{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 => {
        return item.pid === data.find(item => {
          return item.name === name
        }).id
      })
    }
    const arr2 = f2(data, '小亮')
    console.log(arr2) //
// [{id:"07", name: "小丽", pid:"02", job: "产品经理"},
// {id:"08", name: "大光", pid:"02", job: "产品经理"}]
  </script>

在这里插入图片描述


题目4:获取对象的所有属性值

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

解决:Object.values(obj) 获取对象中的所有的属性值,并返回一个存储数据的数组

<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:获取对象的所有属性名

var obj = {label:'男',value: 1,age: 18}
 
function f(obj) {
  // 写代码,得到
}
var arr = f(obj);
console.log(arr)
// arr = ["label", "value", "age"] // 所有的属性名取出来,保存在数组中

解决: Object.keys(obj) 获取对象中的所有的属性名,并返回一个存储数据的数组

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1 | Trerraform的使用及创建CVM

目录1 Trerraform简介2 Trerraform的安装2.1 参考地址2.2 安装方式3 使用Terraform管理腾讯云3.1 创建帐号并授权3.2 添加Terraform的环境变量3.3 配置provider文件3.4 terraform init3.5 terraform init -upgrade3.6 terraform plan3.7 terraform apply3.8 terraform destroy4…

5分钟让你做出HR一眼看中的简历,方法简单易操作

写简历&#xff0c;真的是个“力气活”。 但凡求职经验丰富的朋友们&#xff0c;可以仔细想一想&#xff0c;之前我们面试求职的过程中&#xff0c;哪次不是通宵达旦在修改和“润色”简历中&#xff0c;在写简历里费劲功夫&#xff0c;目的还是为了引起HR的关注&#xff0c;从…

DASOU知识星球学的知识图谱

1.经典课程 1.经典课程 东南大学研究生课程: 东南大学研究生课程&#xff1a; https://github.com/npubird/KnowledgeGraphCourse 书籍推荐: 知识图谱的书籍的话可以看下作者是王昊奋【知识图谱:方法、实践与应用】那本书&#xff0c;算是近些年出版的里面质量不错的了&…

解决问题:VMware Tools 启动脚本未能在虚拟机中成功运行。

目录 问题 解决 方法一、重装 open-vm-tools-desktop 方法二、重装 vmware-tools 问题 Ubuntu 虚拟机开机时提示报错&#xff0c;具体信息如下&#xff1a; VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义启动脚本&#xff0c;请确保该脚本…

USB TO SPI(上海同旺电子)调试器调试TC77温度传感器(三线SPI)

所需设备&#xff1a; 1、USB TO SPI(上海同旺电子)&#xff1b; 2、TC77 带 SPI 接口的温度传感器; 特别注意TC77温度传感器(三线制SPI) 特性 • 5引脚 SOT-23A 和8引脚SOIC 封装的数字温度传感器 • 以13 位数字字格式输出温度值 • SPI 和 MICROWIRE™ 兼容接口 • 固态…

IB科学课程的Group 4 project是什么?

。IBDP第4科学科目组中的科学类课程是必选课程。中国IB学生常选物理、化学、生物、计算机科学这类IB科学课程。这些IBDP科学课程都有一个共同的课程项目&#xff0c;那就是——The group 4 project&#xff01; 什么是The group 4 project&#xff1f; The group 4 project是一…

图表控件TeeChart for .NET系列教程四:轴控制(中)

TeeChart for .NET是优秀的工业4.0 WinForm图表控件&#xff0c;官方独家授权汉化&#xff0c;集功能全面、性能稳定、价格实惠等优势于一体。TeeChart for .NET 中文版还可让您在使用和学习上没有任何语言障碍&#xff0c;至少可以节省30%的开发时间。 TeeChart for .NET最新…

【Python黑帽子】——简易的ZIP文件密码破解器

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门 创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座…

[翻译+笔记]生成对抗网络: 从GAN到WGAN

最近读了一篇社会力模型的论文, 里面用到了GAN, 发现自己不是很懂. 想翻译一下一个大神的博客, 做一下笔记. 并不是全文翻译, 只翻译一部分. 原文地址: from GAN to WGAN 1. K-L和J-S散度 在介绍GAN之前, 首先复习一下衡量两个概率分布相似度的两种指标. (1) K-L散度: KL散度…

java Lambda表达式 省略模式写法

我们先来看一个普通的Lambda表达式 我们创建一个包 下面创建一个接口 testInterface 参考代码如下 public interface testInterface {int eat(int max,int min); }text 测试类 参考代码如下 public class text {public static void main(String args[]) {newTestInterface(…

夺冠热度空前,梅西Instagram粉丝破4亿,跨境卖家如何借这股东风?

阿根廷队世界杯夺冠&#xff0c;35岁的梅西终于实现了职业生涯大满贯&#xff0c;全世界球迷都在为梅西欢呼。梅西夺冠的热度席卷全球&#xff0c;当前其Instagram账号的粉丝就突破了4亿&#xff0c;成为世界上第二个Instagram粉丝超4亿的人。 梅西夺冠当日在Instagram上的发帖…

易观千帆 | 2022年11月银行APP月活跃用户规模盘点

易观分析&#xff1a;11月手机银行服务应用活跃人数52639.05万&#xff0c;环比增长0.68%&#xff1b;排在前三的手机银行APP仍然为中国工商银行、中国农业银行、中国建设银行。 11月城商行手机银行服务应用活跃人数3730.98万&#xff0c;环比增长4.64%&#xff0c;从月活表现来…

Spring Boot 实现 SSE 服务端推送事件

源码地址 关于 SSE SSE 全程 Server Send Event&#xff0c;是 HTTP 协议中的一种&#xff0c;Content-Type 为 text/event-stream&#xff0c;是服务端主动向前端推送数据。类似于 WebSocket。 SSE 优势我们可以划分为两个&#xff1a; 长链接服务端能主动向客户端推送数据…

想要精通算法和SQL的成长之路 - 编辑距离

想要精通算法和SQL的成长之路 - 编辑距离前言一. 编辑距离1.1 定义动态规划数组1.2 定义动态规划方程1.3 定义数组的初始化1.4 最终答案前言 想要精通算法和SQL的成长之路 - 系列导航 一. 编辑距离 原题链接 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 …

DataFactory根据字段类型在mysql插入数据

目录 插入Varchar类型数据 场景一&#xff1a;主键使用uuid 场景二&#xff1a;从外部导入数据 场景三&#xff1a;使用组合方式 插入data类型日期数据 插入Varchar类型数据 insert value from an data table &#xff1a;表示可以通过外部数据创建数据表插入字符串值 i…

实验二B 图像的空域与频域滤波(源代码一站式复制粘贴)

实验二B 图像的空域与频域滤波一、实验目的二、实验原理三、实验内容与要求四、实验的具体实现一、实验目的 1.掌握图像滤波的基本定义及目的。 2.理解空间域滤波的基本原理及方法。 3.掌握进行图像的空域滤波的方法。 4.掌握傅里叶变换及逆变换的基本原理方法。 5.理解频域滤…

算法刷题打卡第52天:排序数组---桶排序

排序数组 难度&#xff1a;中等 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;nums [5,2,3,1] 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;nums [5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,5]桶排序…

2022 CSDN 客服年终总结

hello&#xff0c;大家好&#xff0c;这里是《听用户心声&#xff0c;解用户之需》之 2022 年终总结篇。 秉承“用户至上”的服务理念&#xff0c;为了给用户提供极致的服务体验而时刻努力着&#xff0c;2022年&#xff0c;在大家的一致努力下&#xff0c;究竟有何成效呢&#…

SpringBoot1:helloword、导入依赖、配置项设置,打包方法、lombok、dev-tools、Spring Initailizr、常见注解

1.简介 简化Spring开发的一个框架。对整个Spring技术栈的大整合 J2EE企业级开发的一站式解决方案。 2.微服务 一个应用应该是一组小型服务&#xff0c;可以通过HTTP的方式来进行互通 每一个功能元素都是可独立替换&#xff0c;和独立升级的软件单元。 3.HelloWord 功能&am…

Stm32标准库函数5——OV2640 PA0-7 F103C8T6 4500000 联合VB 高分辨率

stm32f103c8t6串口发送 OV2640的图像&#xff0c;分辨率可选。网络上资料大部分是低分辨率的&#xff0c;这个可以做高分辨率 完整工程打包&#xff0c;包含VB串口显示界面&#xff1a; https://download.csdn.net/download/fengyuzhe13/87327054https://download.csdn.net/do…