JS中数组与对象的互相转换
一、数组转对象
// 数组
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中数组与对象的互相转换相关推荐
- js中数组删除对象的几种方式总结
JS中数组是我们较为常用的一种数据结构,本篇文章主要是介绍js中我们常见的一些删除数组中元素的方式方法,希望可以对大家有所帮助.站长不易,感兴趣的大家可以点击查看原文支持支持. 数组中元素的删除通过删 ...
- 微信小程序学习记录2(js中数组和对象)
1.数组 1.数组的创建: 推荐方式: var array =[] 2.js的数组可以装不同类型的变量 例如: array=['张三',123,aabb] 3.利用下标索引 4.数组的一些方法: .l ...
- js中数组和对象的区别方法
可以使用:instanceof function isArray(obj) {return obj instanceof Array; } function isObject(obj){return ...
- js mysql json字符串转数组中_php数据库数据转换为js中的json对象
/ 1.在company数据user表中取出10条数据,保存为数组 2.在将数组转化为json格式,传递给js 3.用json解析器将传递过来的json字符串转化为json对象, 4.用documen ...
- JS中数组(Array)、Json对象长度(length)获取方法
JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...
- js判断数组或对象中的key是否存在
JS中数组和对象是等同的,判断一个key是否存在于数组中(或对象是否包含某个属性),我们可能马上想到的是使用ary[key] == undefined来判断key是否存在这个数组或者是对象中,但是这样 ...
- 微信小程序js数组初始化_微信小程序开发之改变data中数组或对象的某一属性值...
前言:在小程序的开发中,我们在view中便利data中数组或对象时,很多情况下需要在js中动态改变数组或者对象中某一香的属性值. 效果图: 我给大家总结了案例如下: wxml如下: {{item.we ...
- js中的DOM对象和jQuery对象的比较
1. 二者的不同之处: 通过jQuery获取的元素是一个数组, 数组中包含着原生JS中的DOM对象. 例如, 针对下面的一个div结构: <div id="Box">& ...
- js中两个对象的比较
代码取自于underscore.js 1.8.3的isEqual函数. 做了一些小小的修改,主要是Function的比较修改. 自己也加了一些代码解读. <!DOCTYPE html> & ...
最新文章
- 一文了解卷积神经网络在股票中应用
- 什么是java多线程_什么是java多线程,java多线程的基本原理?
- 【linux】——ubuntu12.04 下安装wine和wine乱码解决方案
- 计算硼原子的基态能级B---交换能
- php浏览器头部获取,如何获取PHP以显示从浏览器收到的标头?
- LiveVideoStack Meet | 北京:卷时代,多媒体人 生存指北
- 数据库视频(一)——整体认识
- 《C++ Primer》13.1.3节练习
- 工作93:注意数据对应接口位置
- 宏块帧内预测的具体过程
- 基于Java+SpringMvc+vue+element实现上海汽车博物馆平台
- vue输入框输入触发事件_.vue文件中监听input输入事件oninput详解
- python求数组标准差
- EMC -- Windows下卸载 Content Server
- 软件系统换服务器地址,软件系统换服务器地址
- SpringMVC的原理
- Aidlearning的内网穿透
- 最全阿里架构师P系列解读:P5-P8的技能要求和薪资结构
- Rosalind Java|Longest Increasing Subsequence动态规划算法
- 计算机专业笔记本用i5还是i7,玩游戏笔记本i5和i7的区别_笔记本电脑游戏用i5还是i7...
热门文章
- 请将你的App签名文件放进保险箱
- 教育类报纸《山东教育报》简介及投稿须知
- usb3.0 ssd 测试软件,SSD打造的移动硬盘,顺便测下USB2.0、USB3.0、SATA2.0、SATA3.0传输速度...
- 给html加背景音乐方法,HTML插入背景音乐方法【全】
- 【牛客网】尼科彻斯定理
- 桌面级安全产品-***防线
- DELL笔记本硬件 ACPI\SMO8800找不到合适驱动问题解决
- 线程和线程调度的简单实现
- 微软win11安装助手报0x80888002错误的解决方法(官方工程师方法)
- python中的单引号和双引号的区别