文章目录

  • 前言
  • 一、数组转对象
    • 1. 需求
    • 2. 实现
    • 3. 结果展示
  • 二、对象转数组
    • 1. 需求
    • 2. 实现
    • 3. 结果展示
  • 总结

前言

前端小伙伴儿时常会遇到需要将服务器返回的数据进行处理的场景,本文介绍了数组与对象相互转换的场景,一起来看看吧~


一、数组转对象

1. 需求

let arr = [{label: '男', value: 0},{label: '女', value: 1}]
// 转换为
let obj = {0:'男', 1:'女'}

2. 实现

  • 方案一

思路

  1. 使用数组的forEach方法遍历数组
  2. 定义一个空对象
  3. 将遍历得到的每一个对象中的value值当做新对象的key,label的值当做新对象的值
  4. 循环结束后将obj的值返回给调用者即可

代码如下(示例):

let arr = [{label: '男', value: 0},{label: '女', value: 1}]function arrToObj(arr){let obj = {}arr.forEach(item => {obj[item.value] = item.label})return obj
}const obj1 = arrToObj(arr)
console.log('数组forEach方法', obj1)
  • 方案二

思路

  1. 使用数组的forEach方法遍历数组
  2. 定义一个空对象
  3. 将遍历得到的每一个对象中的value值当做新对象的key,label的值当做新对象的值
  4. 循环结束后将obj的值返回给调用者即可

代码如下(示例):

let arr = [{label: '男', value: 0},{label: '女', value: 1}]function arrToObj1(arr){return arr.reduce((obj,item) => {obj[item.value] = item.labelreturn obj},{})
}const obj2 = arrToObj1(arr)
console.log('数组reduce方法', obj2)

3. 结果展示

二、对象转数组

1. 需求

let obj = { 0: '男', 1: '女' }
// 转换为
let arr = [{label: '男', value: 0},{label: '女', value: 1}]

2. 实现

代码如下(示例):

let obj = { 0: '男', 1: '女' }// 使用for...in...循环,拿到对象的键、值
// 将其组成新对象,使用数组的push方法追加到数组中
function objToArr(obj){let arr = []for(let key in obj){arr.push({label: obj[key],value: key})}return arr
}const arr = objToArr(obj)
console.log(arr)

3. 结果展示


总结

温故而知新~

数组与对象的相互转换相关推荐

  1. php 把java list对象转成数组,java_JSON的String字符串与Java的List列表对象的相互转换,在前端: 1.如果json是List对象 - phpStudy...

    JSON的String字符串与Java的List列表对象的相互转换 在前端:1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为json传到 ...

  2. jquery对象和DOM对象的相互转换详解

    jquery对象和DOM对象的相互转换 在讨论jquery对象和DOM对象的相互转换之前,先约定好定义变量的风格如果获取的是jquery对象,那么在变量前面加上$,例如 var $varible = ...

  3. php 对象数组的使用方法,php数组与对象的操作方法

    本篇文章主要介绍php数组与对象的操作方法,感兴趣的朋友参考下,希望对大家有所帮助. 本文实例讲述了PHP数组与对象之间使用递归实现转换的方法,具体实现方法如下: 这里涉及一些简单的对象与数组的相互转 ...

  4. 7、JSON数据和Java对象的相互转换(客户端和服务器对象数据通讯用)

    JSON数据和Java对象的相互转换 需要使用JSON解析器(它是封装好的工具类),我们测试用用jackson         * 常见的解析器:Jsonlib,Gson(谷歌),fastjson(阿 ...

  5. java DTO对象与PO对象的相互转换

    2018-09-27 10:27:50 前言: 在实际开发中往往需要DTO对象与PO对象的相互转换: 先说说什么是DTO对象吧,个人觉得DTO就是PO的扩展而已,PO专门指向数据库,DTO作扩展(字段 ...

  6. 处理 JSON null 和空数组及对象

    描述了对 JSON 数据中使用的 null 和空数组及对象的处理. JSON 数据具有 null 和空数组及对象的概念.此部分说明其中每个概念如何映射到 null 和未设置的数据对象概念. Null ...

  7. php一个数组赋值给对象,php数组与对象相互转换方法

    php教程数组与对象相互转换方法 function arrayToObject($e){ if( gettype($e)!='array' ) return; foreach($e as $k=> ...

  8. 【最精简写法】获取一维数组和对象数组最值:最大值、最小值,返回对象

    Math.max(...arr);//返回数组最大值 Math.min(...arr);//返回数组最小值Math.max(...objArr.map(o => o.最值字段名));//返回对象 ...

  9. 根据数组中对象的属性值排序倒叙

    数组中对象的属性值排序倒叙demo function compare(e) {return function (a, b) {var value1 = a[e];var value2 = b[e];r ...

最新文章

  1. MicroSoft的Office使用攻略
  2. 第16届东北赛区线上比赛斯赛点时间安排+直播链接
  3. Cookies揭秘 [Asp.Net, Javascript]
  4. C# 操作ACCESS数据库
  5. leetcode(一)刷题两数之和
  6. python中计算整商的运算符_Python 运算符中用来计算整商的是( ). (2.0分)_学小易找答案...
  7. PHP FPM源代码反刍品味之三: 多进程模型
  8. python ssl socket_Python使用Socket(Https)Post登录百度的实现代码
  9. 2019-2、CentOS7_直播服务搭建_nginx_nginx-http-flv-module
  10. 了解普通人的心理,在销售中非常重要
  11. 区块链 以太坊 智能合约 如何销毁 废弃 selfdestruct
  12. testbench实例 vhdl_FPGA仿真 test bench实例(VHDL)
  13. linux进程假死的原因_linux 假死分析
  14. 使用Python+selenium 视频及相关数据
  15. vue中使用vue-awesome-swiper的方法(实现一屏展示多个图片,点击左右滚动一张)
  16. CTF之PHP基础学习篇(一)
  17. Chapter17: Artificial Intelligenc-Enabled De Novo Design of Novel Compounds that Are Synthesizable
  18. 元宇宙 - 圈里的百科
  19. 【MySQL】6、Delete From删除语句
  20. 光伏项目电力监控系统的重要

热门文章

  1. Unity 3D作业八:粒子系统
  2. 操作系统的内存管理机制(连续分配管理、页式、段式、段页式、快表、二级页表)
  3. Python项目打包后找不到路径问题,将资源文件数据文件打包到exe文件中
  4. Linux远程连接工具FinalShell使用
  5. 简单的Web投票系统,通过数据库的内部验证实现防止刷票功能
  6. iSpring sdk运用ispring sdk下载
  7. 计算机网络复试面试问题总结
  8. 异常:IndexError: tensors used as indices must be long, byte or bool tensors
  9. MS-Celeb-1M 数据
  10. 山东计算机工资水平,2019山东人均工资排行_山东人均收入排名 2009年