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

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

时间2025-09-19 03:16:12分类IT科技浏览5575
导读:👩 个人主页:不爱吃糖的程序媛...

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

🙋‍♂️ 作者简介:前端领域新星创作者                 、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推广点击网页?实用技巧与策略分享) redis hashmap使用场景(redis的hash实现原理是什么)