具有键值对的 Javascript 对象,如何将每一对作为单独的对象分开?

标签 javascript json object

我有一个带有键值对的 javascript 对象,我想将每一对作为单独的对象分开并将其推送到数组中,我该怎么做?

 var obj = new Object();
 obj = {
      v1 : 'k1',
      v2 : 'k2',
      v3 : 'k3'
    }

    a =[];

Object.entries(obj).forEach(
  ([key, value]) => {
    a.push({key : value});
  });
console.log(a);

这是我的预期输出:

[{v1 : 'k1'}, {v2 : 'k2'}, {v3 : 'k3'}]

最佳答案

你差不多明白了。要从变量(称为 Computed property names)创建动态属性,您需要在 key 周围添加 []。否则,它只是创建一个仅以“key”作为 key 的对象:

Object.entries(obj).forEach(([key, value]) => {
    a.push({ [key] : value });
    //        ↑↑
  });

或者,使用 map 更简单:

const obj = {v1:'k1',v2:'k2',v3:'k3'},
      a = Object.entries(obj).map(([key, value]) => ({[key] : value}));

console.log(a);

关于具有键值对的 Javascript 对象,如何将每一对作为单独的对象分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54160279/

相关文章:

javascript - 使用 JQuery 并考虑子 JSON 对象将表单解析为 JSON 对象

ios - 如何使用 ARC 删除/销毁/清除任何对象?

C++ 输出错误(新增问题)

javascript - 在 .remove() 和 .append() 之后返回按钮上的事件

javascript - extjs vtype 不适用于 textarea

javascript - 遍历 Mongoose 查找结果

javascript - 提交前检查数据

python - 来自 CSV 的嵌套 JSON

jquery - $.ajax 的成功回调无法正常工作

object - 使用自定义对象作为 Microsoft Reports (.rdlc) 的来源