怎样将对象转换为包含键值对的对象数组?然后又将数组转换为对象?

const formData = {location: 'Park',address: '123 Main St',latitude: '37.7749',longitude: '-122.4194'
};

1、怎样把这个对象转化为一个数组?

2、然后又怎样把转化后的数组再转化回来?

3、怎样将这两个方法单独封装成函数?

方法 1: 将对象转换为包含键值对的对象数组

/*** 将对象转换为包含键值对的对象数组* @param {Object} obj - 要转换的对象* @return {Array} 包含键值对的对象数组*/
function objectToArray(obj) {return Object.keys(obj).map(key => ({key: key,value: obj[key]}));
}// 示例用法
const formData = {location: 'Park',address: '123 Main St',latitude: '37.7749',longitude: '-122.4194'
};const formDataArray = objectToArray(formData);
console.log('转换后的数组:', formDataArray);

在这里插入图片描述

方法 2: 将数组转换为对象

/*** 将包含键值对的对象数组转换为对象* @param {Array} arr - 包含键值对的对象数组* @return {Object} 转换后的对象*/
function arrayToObject(arr) {return arr.reduce((accumulator, current) => {accumulator[current.key] = current.value;return accumulator;}, {});
}// 示例用法
const responseArray = [{ "key": "location", "value": "Park" },{ "key": "address", "value": "123 Main St" },{ "key": "latitude", "value": "37.7749" },{ "key": "longitude", "value": "-122.4194" }
];const formData = arrayToObject(responseArray);
console.log('转换后的对象:', formData);

在这里插入图片描述

说明

  1. objectToArray 方法:接受一个对象作为参数,将其转换为包含键值对的对象数组。使用 Object.keys() 获取对象的所有键,然后用 map 方法将每个键值对转成包含 keyvalue 属性的对象。

  2. arrayToObject 方法:接受一个包含键值对的对象数组,将其转换回一个对象。使用 reduce 方法遍历数组,将每个元素的 keyvalue 属性赋值到累加器对象中。

测试

复制到浏览器控制台打印即可

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

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

相关文章

基于FPGA的以太网设计(3)----详解各类xMII接口

1、什么是xMII接口 MII (Media Independent Interface)接口,即介质无关接口或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。“介质无关” 表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。 MII接口是MAC和PHY之间的通信接口,MAC产生…

微软的Edge浏览器如何设置兼容模式

微软的Edge浏览器如何设置兼容模式? Microsoft Edge 在浏览部分网站的时候,会被标记为不兼容,会有此网站需要Internet Explorer的提示,虽然可以手动点击在 Microsoft Edge 中继续浏览,但是操作起来相对复杂&#xff0c…

基于内容的音乐推荐网站/基于ssm的音乐推荐系统/基于协同过滤推荐的音乐网站/基于vue的音乐平台

获取源码联系方式请查看文末🍅 摘 要 随着信息化时代的到来,系统管理都趋向于智能化、系统化,音乐推荐网站也不例外,但目前国内的有些公司仍然都使用人工管理,公司规模越来越大,同时信息量也越来越庞大&…

耳机、音响UWB传输数据模组,飞睿智能低延迟、高速率超宽带uwb模块技术音频应用

在数字化浪潮席卷全球的今天,无线通信技术日新月异,其中超宽带(Ultra-Wideband,简称UWB)技术以其独特的优势,正逐步成为无线传输领域的新星。本文将深入探讨飞睿智能UWB传输数据模组在音频应用中的创新应用…

Excel的常用函数公式

Excel的常见函数公式 1、SUM函数 sum函数:主要是用于求和。 格式:SUM(数值1…数值n) 例如:求算学生成绩的综合 sum(B3:D3)、表示求张三同学成绩的总分 只算两科成绩的总分: 注意:在函数公式的…

GraphRAG + GPT-4o mini 低成本构建 AI 图谱知识库

更好的效果,更低的价格,听起来是不是像梦呓? 限制 首先,让我们来介绍一个词:RAG。 简单来说,RAG(Retrieval-Augmented Generation,检索增强生成) 的工作原理是将大型文档…

探索PyPDF2:Python中的PDF处理大师

探索PyPDF2:Python中的PDF处理大师 1. 背景介绍 在数字化时代,PDF文件因其跨平台的兼容性和内容的稳定性而广受欢迎。然而,处理PDF文件,如合并、分割、提取文本等,往往需要专门的工具。这就是PyPDF2库的用武之地。PyP…

Spring系列-04-事件机制,监听器,模块/条件装配

事件机制&监听器 SpringFramework中设计的观察者模式-掌握 SpringFramework 中, 体现观察者模式的特性就是事件驱动和监听器。监听器充当订阅者, 监听特定的事件;事件源充当被观察的主题, 用来发布事件;IOC 容器本身也是事件广播器, 可以理解成观察…

新版本异次元荔枝V4自动发卡系统源码

新版本异次元荔枝V4自动发卡系统源码,增加主站货源系统,支持分站自定义支付接口,目前插件大部分免费,UI页面全面更新,分站可支持对接其他分站产品,分站客服可自定义,支持限定优惠。 源码下载&a…

HTML(六)——HTML表单和框架

HTML 表单 HTML 表单用于收集用户的输入信息,是一个包含表单元素的区域 HTML 表单表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到 Web 服务器。 HTML 表单通常包含各种输入字段、复选框、单选按钮、下拉列表等元素。 …

SpringBoot整合Spring Boot Admin实现监控

目录 基本操作流程: 服务端 server 0.创建一个springboot项目 1.导入依赖 2.添加配置信息 3.在启动类添加注解 4.运行 客户端client 1.添加依赖 2.添加配置信息 3.运行 基本操作流程: 服务端 server 0.创建一个springboot项目 1.导入依赖 …

杰发科技Bootloader(1)—— Keil配置地址

IAP方式 BootLoader方式 UDSBoot方式 AC7801的地址分配 用户空间的的地址从8000000开始分配,大小是64页,即128K。 RAM地址从20000000开始 基于UDSboot调试-Boot 烧录Boot之后,ATClinkTool无法连接 用keil查看内存,地址到8005388…

前端在浏览器总报错,且获取请求头中token的值为null

前端请求总是失败说受跨域请求影响,但前后端配置已经没有问题了,如下: package com.example.shop_manage_sys.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Conf…

【数据结构】详解二叉树及其操作

无论你觉得自己多么的了不起,也永远有人比你更强。💓💓💓 目录 ✨说在前面 🍋知识点一:二叉树的遍历 • 🌰1.创建一棵二叉树 • 🌰2.二叉树的遍历 •🔥前序遍历 •&a…

提升自身的国际影响力-香港服务器托管的优势

随着全球化的不断深入,中国企业正以前所未有的速度走向世界舞台,不仅在全球市场上展现其竞争力,更在寻求通过技术创新和服务优化来提升自身的国际影响力。在这一过程中,服务器的选择与托管成为了一个至关重要的环节。特别是在香港…

基于SpringBoot实现验证码功能

目录 一 实现思路 二 代码实现 三 代码汇总 现在的登录都需要输入验证码用来检测是否是真人登录,所以验证码功能在现在是非常普遍的,那么接下来我们就基于springboot来实现验证码功能。 一 实现思路 今天我们介绍的是两种主流的验证码,一…

使用php adodb5连接人大金仓数据库

打开php中的pgsql扩展 extensionpgsql使用adodb5连接kingbase数据库 <?php include("adodb5/adodb.inc.php"); $fox_dbtype pgsql; $fox_host 192.168.1.66; $fox_user system; $fox_pwd 123456; $fox_dbname testkingbase; $fox_port 54321;$dbNewADOCo…

大数据技术--实验01-Hadoop的安装与使用【实测可行】

使用下面表中的软件版本进行配置&#xff1a; 准备好后&#xff0c;按照下面的步骤进行配置。 配置VMware网络 在VMWare主界面&#xff0c;点击“编辑”>“虚拟网络编辑”菜单进入虚拟网卡参数设置界面。选择VMnet8条目&#xff0c;点击“NAT设置”按钮后可以看到我们的VM…

使用UDP套接字编程详解【C语言】

UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是一种面向无连接的传输层协议&#xff0c;用于在计算机网络上发送数据。它与 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;相比具有轻量、高效的特点&…