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

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

时间2025-07-30 20:13:22分类IT科技浏览4805
导读:👩 个人主页:不爱吃糖的程序媛...

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

🙋‍♂️ 作者简介:前端领域新星创作者               、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
如何提高网站seo排名(如何通过SEO优化提升网站排名) 如何让网站被百度收录(提高网站收录率的有效方法)