簡體   English   中英

具有鍵值對的Javascript對象,如何將每個對分離為單個對象?

[英]Javascript object with key value pairs, how to separate each pair as individual 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'}]

您幾乎了解了。 要從變量創建動態屬性(稱為計算屬性名稱 ),您需要在key周圍添加[] 否則,它僅創建一個僅以“鍵”作為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); 

 var obj = { v1 : 'k1', v2 : 'k2', v3 : 'k3' } var result = [] for(var i in obj) result.push([i, obj[i]]) console.log(result) 

解決此問題的一種更實用的方法是在對象條目上map以產生新的對象數組。

 var obj = { v1 : 'k1', v2 : 'k2', v3 : 'k3' } const out = Object.entries(obj).map(([k, v]) => ({ [k]: v })); console.log(out); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM