数组对象相互转化

news/2024/9/20 8:57:21/文章来源:https://www.cnblogs.com/chen0509/p/18421721

数组对象相互转化
在JavaScript中,数组和对象之间的转换是非常常用的,这主要涉及到数组元素的提取和对象属性的获取。以下是几种常见的转换方法。

  1. 数组转化为对象
    方法一:使用对象字面量
    假设我们有一个数组,我们可以直接将它赋值给一个新创建的对象,数组的第一个元素将成为对象的键,第二个元素将成为对象的值。

let array = ['name', 'John'];
let object = {};
object[array[0]] = array[1];
console.log(object); // 输出:{name: 'John'}
方法二:使用Object.fromEntries()
这是ES6提供的一个新方法,可以将数组[ [key1, value1], [key2, value2], ... ]转化为对象。

let array = [['name', 'John'], ['age', 25]];
let object = Object.fromEntries(array);
console.log(object); // 输出:{name: 'John', age: 25}
2. 对象转化为数组
方法一:使用Object.values()
Object.values() 方法返回一个由对象的自身可枚举属性的值组成的数组。

let object = { name: 'John', age: 25 };
let array = Object.values(object);
console.log(array); // 输出:[ 'John', 25 ]
方法二:使用Array.from()
Array.from() 方法将类数组对象(如HTMLCollection、NodeList、arguments对象等)转换为真正的数组。

let object = { 0: 'John', 1: 25 };
let array = Array.from(object);
console.log(array); // 输出:[ 'John', 25 ]
3. 字符串转化为数组
方法一:使用split()方法
split()方法将字符串分割成字符串数组,指定的分隔符。

let str = 'John Doe';
let array = str.split(' ');
console.log(array); // 输出:[ 'John', 'Doe' ]
方法二:使用toString()方法
toString()方法将数组元素以逗号分隔合并为字符串。

let array = ['John', 'Doe'];
let str = array.toString();
console.log(str); // 输出:'John,Doe'
4. 数组转化为字符串
方法一:使用join()方法
join()方法将数组中所有元素作为一个字符串返回,可以使用指定的分隔符。

let array = ['John', 'Doe'];
let str = array.join(' ');
console.log(str); // 输出:'John Doe'
方法二:使用toString()方法
toString()方法将数组转换成一个字符串,默认使用的分隔符是逗号。

let array = ['John', 'Doe'];
let str = array.toString();
console.log(str); // 输出:'John,Doe'
以上就是一些基本的数组和对象相互转化的方法。在JavaScript中,还有其他一些方法可以进行这种转换,但这些都是最常用且最容易上手的。希望这些信息对你有所帮助!

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

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

相关文章

DLX

写这玩意的原因是初赛做到了 SadBee csdn 第一部分:DLX算法的提出 1.1一类被称为精确覆盖的问题 在计算机科学中,精确覆盖问题指找出这样的一种覆盖,或证明其不存在。 满足以下条件的集合为一个精确覆盖:S*中任意两个集合没有交集,即X中的元素在S*中出现最多一次 S*中集合…

【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。

VMware Cloud Foundation 5.2 发布并引入了一个新的功能,借助 VCF Import Tool 工具可以将现有 vSphere 环境直接转换(Convert)为管理工作负载域或者导入(Import)为 VI 工作负载域。通过这种能力,客户无需购买新硬件和进行复杂的部署和迁移工作,即可将已有的环境快速转变…

大模型应用开发初探 : 通用函数调用Planner

自动函数调用对大模型有较高的要求,比如Azure OpenAI、智谱AI等这些收费的大模型产品就能很好地规划和处理函数调用,而像是一些开源的小参数量的模型例如qwen2-7b-instruct这种可能效果就不太好。刚好,之前在网上看到一位大佬的开源通用函数调用的方案,于是重构了一下上一篇…

vuex状态管理 - 使用教程

vuex使用教程一、概述 1.组件之间的数据共享 (小范围内的数据共享) ​ 父向子传值:v-bind 属性绑定 ​ 子向父传值:v-on 事件绑定 ​ 兄弟组件之间共享数据:$on 接受数据的那个组件 $emit 发送数据的那个组件2.vuex是实现组件全局状态(数据)管理的一种机制,可以…

dwg、dxf文件多行文字转单行文字

CAD 在CAD软件中,将多行文字转换为单行文字的过程相对简单。以下是具体的操作步骤: ‌使用“X”分解命令(炸开)‌:首先,书写多行文字,通过蓝色夹点可以看出这些文字是一个整体。然后,将刚写的多行文字作为选择对象选中,选择分解命令或命令行输入“X”,然后回车。完成…

MQTT——工具mosquitto使用及问题记录

================================================================================================在CentOS服务器使用Mosquitto安装和部署MQTT之前在Windows服务器上安装部署RabbitMQ3.8,今天又双叒叕换了软件,叫MQTT,首先先了解下软件,RabbitMQ : 是一个支持AMQP协议…

django 缓存表格到内存

django 缓存表格到内存 在Django中,你可以使用缓存来提高性能。如果你想要缓存一个模型的表格数据到内存中,可以使用Cache类和caching framework。以下是一个简单的例子,展示了如何缓存一个模型的查询结果: 首先,确保你的settings.py中启用了缓存系统,并选择了一个缓存后…

visio圆角矩形怎么改变圆角大小

visio圆角矩形怎么改变圆角大小在‌Visio中调整‌圆角矩形的大小‌ 在Visio中,可以通过以下步骤调整圆角矩形的大小:选择矩形工具,绘制一个矩形。 右键点击矩形,选择“设置形状格式”。 在弹出的窗口中,选择“线条”选项卡。 在“端点类型”中选择“圆形”,并设置圆角的…

.NET常见的几种项目架构模式,你知道几种?(附带使用情况投票)

前言 项目架构模式在软件开发中扮演着至关重要的角色,它们为开发者提供了一套组织和管理代码的指导原则,以提高软件的可维护性、可扩展性、可重用性和可测试性。假如你有其他的项目架构模式推荐,欢迎在文末留言🤞!!!项目架构模式使用情况收集(微信投票,请在微信中打开…

xmind 没有中文字体

为什么xmind字体没有中文的Xmind支持设置默认字体,包括中文字体。‌用户可以通过以下步骤设置默认字体:打开Xmind并进入编辑页面。 移动鼠标到页面左上角的三条横线图标,点击打开。 在弹出的下拉选项菜单中,选择首选项功能进入。 在常规页面下,找到默认的中日韩字体选项,…

Parquet.Net: 将 Apache Parquet 移植到 .NET

Parquet.Net 是一个用于读取和写入 Apache Parquet 文件的纯 .NET 库,使用MIT协议开源,github仓库:https://github.com/aloneguid/parquet-dotnet。Apache Parquet 是一种面向大数据的列式存储格式。Parquet.Net 支持 .NET 4.5 及以上版本和 .NET Standard 1.4 及以上版本,…

读构建可扩展分布式系统:方法与实践09可扩展数据库基础

可扩展数据库基础1. 可扩展数据库基础 1.1. 绝大多数应用程序都是基于关系数据库技术构建的 1.2. 数据库必须存储大量数据,为分布在全球的客户端提供快速的查询响应,并且全天候可用 1.3. NoSQL数据库采用简单的数据模型,可以复制和分区以支持海量数据集和请求量 1.4. Facebo…