具有键值对的Javascript对象,如何将每个对分离为单独的对象? [英] Javascript object with key value pairs, how to separate each pair as individual object?

查看:99
本文介绍了具有键值对的Javascript对象,如何将每个对分离为单独的对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a javascript object with key value pairs i want to separate each pair as individual object and push it to a array how do i do that?

 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'}]

推荐答案

您几乎了解了它.要通过变量创建动态属性(称为计算出的属性名称),则需要在key周围添加[].否则,它只会创建一个仅带有键"作为key的对象:

You have almost got it. To create a dynamic property from a variable (it's called Computed property names), you need to add [] around key. Otherwise, it just creates an object with just "key" as the key:

const obj = {
  v1: 'k1',
  v2: 'k2',
  v3: 'k3'
},
a = [];

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

,或者,使用map更简单:

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

console.log(a);

这篇关于具有键值对的Javascript对象,如何将每个对分离为单独的对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆