[英]How to convert an object to array of objects
我有以下對象:
let categories = {
"Asset Type": ["appliances", "electronics"],
"Asset Availability": ["in stock"]
}
我需要將其轉換為以下結構:
[
{
"name": "Asset Type",
"values": ["Appliances", "Electronics"]
},
{
"name": "Asset Availability",
"values": ["In Stock"]
}
]
使用Object.entries
, array.prototype.map
和一些destructuring
:
var categories = { "Asset Type": ["appliances", "electronics"], "Asset Availability": ["in stock"] }; var res = Object.entries(categories).map(([name, values]) => ({name, values})); console.log(res);
const categories = { "Asset Type": ["appliances", "electronics"], "Asset Availability": ["in stock"] } const toArray = obj => Object.keys(obj).reduce((acc, key) => [...acc, {name: key, values: obj[key]}], []) console.log(toArray(categories));
我最喜歡的方法是:
請注意,密鑰必須在此方法中是唯一的(無論如何應該是這樣):
var categories = {
"Asset Type": ["appliances", "electronics"],
"Asset Availability": ["in stock"]
};
var res = Object.keys(categories).map(key => ({
name: key,
values: categories[key]
});
);
console.log(res);
試試這樣==>
var obj = {
"categories":
{
"Asset Type": ["appliances", "electronics"],
"Asset Availability": ["in stock"]
},
};
var categories = [];
for(let p in obj.categories) {
categories.push({
name: p,
values : obj.categories[p]
});
}
console.log(categories);
你可以嘗試這樣的東西或使用地圖功能有很多方法
let obj = {
"categories":
{
"Asset Type": ["appliances", "electronics"],
"Asset Availability": ["in stock"]
}
}
let categories=[];
Object.keys(obj.categories).forEach(key=>{
categories.push({"name":key,"value":obj.categories[key]});
});
console.log(categories);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.