首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将对象格式化为所有对象数组

将对象格式化为所有对象数组
EN

Stack Overflow用户
提问于 2021-08-25 08:25:16
回答 3查看 46关注 0票数 0

这个问题很简单,没有明确的答案。我有一个对象,我的目标是将每个值和键值转换为对象,并推送到数组中,例如,为了清楚起见,如下所示。

代码语言:javascript
运行
复制
{
  title: "This is a Title",
  name: "This is a name"
}

变换为。

代码语言:javascript
运行
复制
[
  {title: "This is a Title"},
  {name: "This is a name"}
]
EN

回答 3

Stack Overflow用户

发布于 2021-08-25 08:29:21

使用Object.entries将对象转换为数组,然后将数组map为所需格式的对象数组:

代码语言:javascript
运行
复制
const obj = {
  title: "This is a Title",
  name: "This is a name"
};

const arr = Object.entries(obj)
    .map(([key, value]) => ({ [key]: value }));

console.log(arr);

票数 6
EN

Stack Overflow用户

发布于 2021-08-25 08:29:35

您可以通过使用新对象的任何条目来映射对象的条目。

代码语言:javascript
运行
复制
const
    data = { title: "This is a Title", name: "This is a name" },
    result = Object
        .entries(data)
        .map(e => Object.fromEntries([e]));

console.log(result);

票数 2
EN

Stack Overflow用户

发布于 2021-08-25 10:17:47

我喜欢现有解决方案的简洁,但如果您需要处理大量数据,这样的解决方案将提供更好的性能:

代码语言:javascript
运行
复制
function transform(obj) {
    let arr = []

    for (let key in obj) {
        let temp = {}

        temp[key] = obj[key]

        arr.push(temp)
    }

    return arr
}

let data = {
    title: "This is a Title",
    name: "This is a name"
}

console.log(transform(data))

编辑:了解如何使用代码片段:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68919359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档