我動態呼叫博客類別和具有這些類別的帖子數量。我需要一個名為 tabs 的物件來包含呼叫的類別 Titles和呼叫具有該類別categoryTitle的帖子的數量。count我希望最終的物件陣列看起來像這樣:
const tabs = [
{ categoryTitle: "blonde", count: "2"},
{ categoryTitle: "corrections", count: "2" },
{ categoryTitle: "offer", count: "1" },
{ categoryTitle: "products", count: "1" },
{ categoryTitle: "style", count: "1" },
];
我將如何遍歷下面的這兩個物件來創建像上面這樣的物件?或者我應該建立一個類并傳遞物件?
{blonde: 2, corrections: 2, offers: 1, products: 1, style: 1}
uj5u.com熱心網友回復:
鑒于我可以從背景關系中理解,這里是代碼。如果它不起作用,請在您的問題中包含該案例。
let oldObj = { blonde: 2, corrections: 2, offers: 1, products: 1, style: 1 };
const keys = Object.keys(oldObj);
const values = Object.values(oldObj);
let newObj = [];
for (i = 0; i < keys.length; i ) {
newObj.push({ categoryTitle: keys[i], count: '' values[i] });
}
console.log(newObj);
uj5u.com熱心網友回復:
您可以通過使用Array.map()方法和Object.keys()來簡單地實作這一點。
演示:
const obj = {
blonde: 2,
corrections: 2,
offers: 1,
products: 1,
style: 1
};
const tabs = Object.keys(obj).map(key => {
return {
categoryTitle: key,
count: obj[key]
}
});
console.log(tabs);
uj5u.com熱心網友回復:
一種方法是map覆寫提供的物件entries(鍵值對)并key根據valueOP 的要求(包括 的string型別轉換value)進行分配。
console.log(
Object
.entries({
blonde: 2,
corrections: 2,
offers: 1,
products: 1,
style: 1,
})
.map(([key, value]) => ({
categoryTitle: key,
count: String(value),
}))
);
.as-console-wrapper { min-height: 100%!important; top: 0; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/487489.html
標籤:javascript 数组 目的
上一篇:從物件訪問表
