JS 对象与数组的相互转换:深入全面讲解--数组转换为对象
最编程
2024-10-05 12:13:49
...
数组转换为对象通常涉及将数组元素转换为对象的属性名和属性值。以下是几种常见的方法:
1. 使用Object.fromEntries()
Object.fromEntries()
方法将键值对列表(或其他可迭代对象,其元素是两个元素的键值对)转换为一个对象。
const arr = [['id', 1], ['value', '值']];
const obj = Object.fromEntries(arr);
console.log(obj); // { id: 1, value: '值' }
2. 使用reduce()
方法
reduce()
方法可以对数组中的每个元素执行一个由提供的函数实现的累积器,将其结果汇总为单个值。我们可以使用这个方法将数组转换为对象。
const arr = [['id', 1], ['value', '值']];
const obj = arr.reduce((acc, [key, value]) => {
acc[key] = value;
return acc;
}, {});
console.log(obj); // { id: 1, value: '值' }
3. 使用for...of
循环
for...of
循环用于遍历可迭代对象(包括数组)。在循环中,我们可以使用对象的属性赋值语法将数组元素转换为对象的属性。
const arr = [['id', 1], ['value', '值']];
const obj = {};
for (let [key, value] of arr) {
obj[key] = value;
}
console.log(obj); // { id: 1, value: '值' }
推荐阅读
-
JS 对象与数组的相互转换:深入全面讲解--数组转换为对象
-
Node.js:开发人员必须掌握的 10 个库(下) - Lodash 库的功能和优势: 使用 Polyfills 实现跨浏览器兼容。 在处理对象数组时,提供过滤器、搜索和 flatMap 等内置解决方案。 帮助开发人员避免冗余代码并保持代码清晰。 阿克西奥斯 Axios 是一款基于 Promise 的 HTTP 客户端,适用于 Node.js 和浏览器。它还能根据需要管理浏览器或 Node.js 请求和响应数据的转换。Axios 是同构的,这意味着它可以在服务器和客户端使用相同的代码库。Axios 在服务器端使用本地 HTTP 模块,在客户端使用 XMLHttpRequest 进行 HTTP 通信。 Axios 库的特点和优势: 为 GET、PUT、POST 和 DELETE 等常见 HTTP 数据类型提供 API 方法。 在互联网上执行 HTTP 查询时,可防止跨站请求伪造(CSRF),从而提高安全性。 自动 JSON 数据转换,可轻松将响应数据转换为 JSON 格式。 Puppeteer Puppeteer 是一个 Node.js 框架,它通过 DevTools 协议提供了一个高级 API,允许你通过控制 Chrome/Chromium 实现浏览器自动化。它可用于自动化前端测试,如处理请求、识别和比较用户界面组件以及性能测试。在代码中导入 Puppeteer 软件包后,就能构建 Chromium 实例,然后与浏览器引擎通信,执行自动化测试。 Puppeteer 库的优势和功能: