首页IT科技js将数组转化为对象(如何在 JavaScript 中将数组转为对象)

js将数组转化为对象(如何在 JavaScript 中将数组转为对象)

时间2025-06-13 18:48:18分类IT科技浏览4358
导读:👩 个人主页:不爱吃糖的程序媛...

👩 个人主页:不爱吃糖的程序媛

🙋‍♂️ 作者简介:前端领域新星创作者             、CSDN内容合伙人             ,专注于前端各领域技术                    ,成长的路上共同学习共同进步       ,一起加油呀!

✨系列专栏:前端面试宝典                    、JavaScript进阶       、vue实战

📢 资料领取:前端进阶资料以及文中源码可以在🎈公众号“不爱吃糖的程序媛              ”领取💖

首先             ,我们要明白对象具有键和值             。

JavaScript 的对象(Object)                    ,本质上是键值对的集合(Hash 结构)       ,但是传统上只能用字符串当作键                    。

如果我们想把某个东西转换成一个对象      ,我们需要传递具有这两个要求的东西:键和值       。

满足这些要求的参数有两种类型: 具有嵌套键值对的数组 Map 对象

将数组转为对象

1.Object.fromEntries方法

const newArray = [ [key 1, value 1], [key 2, value 2] ] Object.fromEntries(newArray) // { key 1: "value 1", key 2: "value 2"}

2.Map方法

ES6 提供了 Map 数据结构             。它类似于对象                    ,也是键值对的集合              ,但是“键                    ”的范围不限于字符串      ,各种类型的值(包括对象)都可以当作键                    。

也就是说                   ,Object 结构提供了“字符串—值      ”的对应              ,Map 结构提供了“值—值       ”的对应,是一种更完善的 Hash 结构实现       。如果你需要“键值对                    ”的数据结构                   ,Map 比 Object 更合适      。

const map = new Map([ [key 1, value 1], [key 2, value 2] ]) // 或者我们可以使用实例方法 set const map = new Map() map.set(key 1, value 1) map.set(key 2, value 2) Object.fromEntries(map) // { key 1: "value 1", key 2: "value 2"}

3.Reduce方法

const array = [ [key1, value1], [key2, value2] ] //或者 const map = new Map([ [key1, value1], [key2, value2] ]) //这个方法好用! function toObject(pairs) { return Array.from(pairs).reduce( (acc, [key, value]) => Object.assign(acc, { [key]: value }), {} ) } toObject(array) // { key1: value1, key2: value2 } toObject(map) // { key1: value1, key2: value2 }

4.Underscore 和 Lodash工具集合框架

Lodash是一个具有一致接口             、模块化                    、高性能的JavaScript工具库                    。一开始Lodash只是Underscore.js的一个fork                    ,之后再原有的成功基础上取得了更大的成果,lodash的性能远远的超过了Underscore              。

官网文档:https://www.lodashjs.com/

Underscore 和 Lodash 也可将键值对转换为对象      。

_.object — 将阵列转换为对象                   。传递单个[键       、值]对列表             ,或键列表和值列表              。 // Underscore const array = [ [key1, value1], [key2, value2] ] _.object(array) // { key1: value1, key2: value2 }

_.fromPairs — 此方法返回由键值对组成的对象。

// Lodash const array = [ [key1, value1], [key2, value2] ] _.fromPairs(array) // { key1: value1, key2: value2 }

将对象转为数组

1. Object.entries方法

Object.entries 方法返回一个给定对象自身可枚举属性的键值对数组                   。

const object = { key1: value1, key2: value2 } const array = Object.entries(object) // [ ["key1", "value1"], ["key2", "value2"] ]

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
生存指南steam(Emacs 生存指南) python模拟操作软件(使用Python实现高效摸鱼,批量识别银行卡号码并且自动写入Excel表格)