软件开发定制如何在 JavaScript 中将数组转为对象

首先,软件开发定制我们要明白对象具有键和值。

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

软件开发定制如果我们想把某个东西转换成一个对象,我们需要传递具有这两个要求的东西:键和值。
满足这些要求的参数有两种类型:

  • 具有嵌套键值对的数组
  • 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"}
  • 1
  • 2
  • 3
  • 4
  • 5

2.Map方法

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

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

const map = new Map([  ['key 1', 'value 1'],  ['key 2', 'value 2']])// 或者我们可以使用实例方法 setconst 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"}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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' }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

4.Underscore 和 Lodash工具集合框架

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

Underscore 和 Lodash 也可将键值对转换为对象。
_.object — 将阵列转换为对象。传递单个[键、值]对列表,或键列表和值列表。

// Underscoreconst array = [  ['key1', 'value1'],  ['key2', 'value2']]_.object(array) // { key1: 'value1', key2: 'value2' }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

// Lodashconst array = [  ['key1', 'value1'],  ['key2', 'value2']]_.fromPairs(array) // { key1: 'value1', key2: 'value2' }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

将对象转为数组

1. Object.entries方法

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

const object = { key1: 'value1', key2: 'value2' }const array = Object.entries(object) // [ ["key1", "value1"], ["key2", "value2"] ]
  • 1
  • 2
网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发