一、数组转对象

// 数组
const arr = [{ label: '男', value: 0 },{ label: '女', value: 1 }
]

转成如下格式

// 预期对象obj ===> {0: '男', 1:'女'}

代码实现

function f(arr) {// 数组的reduce方法,使数组的obj初始值为{},将数组中每一个对象所需的值,
// 分别作为对象中的键与值return arr.reduce((obj, item) => {obj[item.value] = item.labelreturn obj}, {})
}
const obj = f(arr)
// 简写方式
function f(arr) {return arr.reduce((obj, item) => (obj[item.value] = item.label,obj), {})
}
const obj = f(arr)

二、对象转数组

// 对象
const obj = { 0: '男', 1: '女' }

转成如下格式

 arr ===>  [{label: '男', value: 0},{label: '女', value: 1}]

代码实现

function f(obj) {let result = []for (let key in obj) {result.push({label: obj[key],value: Number(key)})}return result
}
const arr = f(obj)

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

  1. js中数组删除对象的几种方式总结

    JS中数组是我们较为常用的一种数据结构,本篇文章主要是介绍js中我们常见的一些删除数组中元素的方式方法,希望可以对大家有所帮助.站长不易,感兴趣的大家可以点击查看原文支持支持. 数组中元素的删除通过删 ...

  2. 微信小程序学习记录2(js中数组和对象)

    1.数组 1.数组的创建: 推荐方式: var array =[] 2.js的数组可以装不同类型的变量 例如: array=['张三',123,aabb] 3.利用下标索引 4.数组的一些方法: .l ...

  3. js中数组和对象的区别方法

    可以使用:instanceof function isArray(obj) {return obj instanceof Array; } function isObject(obj){return ...

  4. js mysql json字符串转数组中_php数据库数据转换为js中的json对象

    / 1.在company数据user表中取出10条数据,保存为数组 2.在将数组转化为json格式,传递给js 3.用json解析器将传递过来的json字符串转化为json对象, 4.用documen ...

  5. JS中数组(Array)、Json对象长度(length)获取方法

    JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...

  6. js判断数组或对象中的key是否存在

    JS中数组和对象是等同的,判断一个key是否存在于数组中(或对象是否包含某个属性),我们可能马上想到的是使用ary[key] == undefined来判断key是否存在这个数组或者是对象中,但是这样 ...

  7. 微信小程序js数组初始化_微信小程序开发之改变data中数组或对象的某一属性值...

    前言:在小程序的开发中,我们在view中便利data中数组或对象时,很多情况下需要在js中动态改变数组或者对象中某一香的属性值. 效果图: 我给大家总结了案例如下: wxml如下: {{item.we ...

  8. js中的DOM对象和jQuery对象的比较

    1. 二者的不同之处: 通过jQuery获取的元素是一个数组, 数组中包含着原生JS中的DOM对象. 例如, 针对下面的一个div结构: <div id="Box">& ...

  9. js中两个对象的比较

    代码取自于underscore.js 1.8.3的isEqual函数. 做了一些小小的修改,主要是Function的比较修改. 自己也加了一些代码解读. <!DOCTYPE html> & ...

最新文章

  1. 一文了解卷积神经网络在股票中应用
  2. 什么是java多线程_什么是java多线程,java多线程的基本原理?
  3. 【linux】——ubuntu12.04 下安装wine和wine乱码解决方案
  4. 计算硼原子的基态能级B---交换能
  5. php浏览器头部获取,如何获取PHP以显示从浏览器收到的标头?
  6. LiveVideoStack Meet | 北京:卷时代,多媒体人 生存指北
  7. 数据库视频(一)——整体认识
  8. 《C++ Primer》13.1.3节练习
  9. 工作93:注意数据对应接口位置
  10. 宏块帧内预测的具体过程
  11. 基于Java+SpringMvc+vue+element实现上海汽车博物馆平台
  12. vue输入框输入触发事件_.vue文件中监听input输入事件oninput详解
  13. python求数组标准差
  14. EMC -- Windows下卸载 Content Server
  15. 软件系统换服务器地址,软件系统换服务器地址
  16. SpringMVC的原理
  17. Aidlearning的内网穿透
  18. 最全阿里架构师P系列解读:P5-P8的技能要求和薪资结构
  19. Rosalind Java|Longest Increasing Subsequence动态规划算法
  20. 计算机专业笔记本用i5还是i7,玩游戏笔记本i5和i7的区别_笔记本电脑游戏用i5还是i7...

热门文章

  1. 请将你的App签名文件放进保险箱
  2. 教育类报纸《山东教育报》简介及投稿须知
  3. usb3.0 ssd 测试软件,SSD打造的移动硬盘,顺便测下USB2.0、USB3.0、SATA2.0、SATA3.0传输速度...
  4. 给html加背景音乐方法,HTML插入背景音乐方法【全】
  5. 【牛客网】尼科彻斯定理
  6. 桌面级安全产品-***防线
  7. DELL笔记本硬件 ACPI\SMO8800找不到合适驱动问题解决
  8. 线程和线程调度的简单实现
  9. 微软win11安装助手报0x80888002错误的解决方法(官方工程师方法)
  10. python中的单引号和双引号的区别