我有一個時尚目錄,一個物品清單。每個設計師都有一個專案陣容。每件商品都有名稱和價格。
我必須撰寫一個函式,它將接收一個陣列作為引數。該函式必須訪問每個設計器的所有專案并回傳一個矩陣,如:
[
[designer name, shoe name, price],
[designer name, shoe name, price],
...
]
但我堅持這一點:((這是我的回報))
[
'Brunello Cucinelli',
[ 'tasselled black low-top lace-up', 1000 ],
'Brunello Cucinelli',
[ 'tasselled green low-top lace-up', 1100 ],
'Brunello Cucinelli',
[ 'plain beige suede moccasin', 950 ],
'Brunello Cucinelli',
[ 'plain olive suede moccasin', 1050 ],
'Gucci',
[ 'red leather laced sneakers', 800 ],
'Gucci',
[ 'black leather laced sneakers', 900 ]
]
var currentInventory = [ //array with data
{
name: 'Brunello Cucinelli',
shoes: [
{ name: 'tasselled black low-top lace-up', price: 1000 },
{ name: 'tasselled green low-top lace-up', price: 1100 },
{ name: 'plain beige suede moccasin', price: 950 },
{ name: 'plain olive suede moccasin', price: 1050 }
]
},
{
name: 'Gucci',
shoes: [
{ name: 'red leather laced sneakers', price: 800 },
{ name: 'black leather laced sneakers', price: 900 }
]
}
];
function renderInventory(inventory) {
let matrix = []
let props = []
for(let i=0; i < inventory.length; i ){ //loop 1 inventory
matrix.push(inventory[i].name)
for(let n=0; n < inventory[i].shoes.length; n ){ //loop 2 shoes()
props.push(matrix[i])
props.push(Object.values(inventory[i].shoes[n]))
} //end loop 2
} //end loop 1
return props;
}
renderInventory(currentInventory)
請問有什么幫助嗎?
uj5u.com熱心網友回復:
您可以使用嵌套map()呼叫,然后將結果展平(此處使用flatMap()which 組合操作)。此示例還使用帶別名的解構。
const currentInventory = [{ name: 'Brunello Cucinelli', shoes: [{ name: 'tasselled black low-top lace-up', price: 1000 }, { name: 'tasselled green low-top lace-up', price: 1100 }, { name: 'plain beige suede moccasin', price: 950 }, { name: 'plain olive suede moccasin', price: 1050 }] }, { name: 'Gucci', shoes: [{ name: 'red leather laced sneakers', price: 800 }, { name: 'black leather laced sneakers', price: 900 }] }];
const result = currentInventory
.flatMap(({ name: designer, shoes }) =>
shoes.map(({ name: shoe, price }) => [designer, shoe, price])
)
console.log(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/447639.html
標籤:javascript 数组 目的
上一篇:當名稱路徑存盤在未知長度的陣列中時,如何從多維物件中獲取值?
下一篇:如何過濾具有多個鍵的物件
