【发布时间】:2021-03-24 05:41:36
【问题描述】:
我在从对象数组创建列表数组时遇到问题。我不确定我哪里出错了。这是我的问题:
查找所有设计师的所有鞋子,并以这种格式将它们列在数组中:
[[设计师姓名,鞋名,价格],[设计师姓名,鞋名,价格],....] 例如,
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}
]
}
];
function renderInventory(inventory) {
let arr = [];
for(let i = 0; i < inventory.length; i++) {
for(let j = 0;j < inventory[i].shoes.length; j++) {
arr.push([`${inventory[i].name}, ${inventory[i].shoes[j].name}, ${inventory[i].shoes[j].price}`])
}
}
return arr;
}
我收到此错误,但不知道为什么?
Expected $[0].length = 1 to equal 3. Expected $[0][0] = 'Brunello Cucinelli, tasselled black low-top lace-up, 1000' to equal 'Brunello Cucinelli'. Expected $[0][1] = undefined to equal 'tasselled black low-top lace-up'. Expected $[0][2] = undefined to equal 1000. Expected $[1].length = 1 to equal 3. Expected $[1][0] = 'Brunello Cucinelli, tasselled green low-top lace-up, 1100' to equal 'Brunello Cucinelli'. Expected $[1][1] = undefined to equal 'tasselled green low-top lace-up'. Expected $[1][2] = undefined to equal 1100. Expected $[2].length = 1 to equal 3. Expected $[2][0] = 'Brunello Cucinelli, plain beige suede moccasin, 950' to equal 'Brunello Cucinelli'. Expected $[2][1] = undefined to equal 'plain beige suede moccasin'. Expected $[2][2] = undefined to equal 950. Expected $[3].length = 1 to equal 3. Expected $[3][0] = 'Brunello Cucinelli, plain olive suede moccasin, 1050' to equal 'Brunello Cucinelli'. Expected $[3][1] = undefined to equal 'plain olive suede moccasin'. Expected $[3][2] = undefined to equal 1050. Expected $[4].length = 1 to equal 3. Expected $[4][0] = 'Gucci, red leather laced sneakers, 800' to equal 'Gucci'. Expected $[4][1] = undefined to equal 'red leather laced sneakers'. Expected $[4][2] = undefined to equal 800. Expected $[5].length = 1 to equal 3. Expected $[5][0] = 'Gucci, black leather laced sneakers, 900' to equal 'Gucci'. Expected $[5][1] = undefined to equal 'black leather laced sneakers'. Expected $[5][2] = undefined to equal 900.
还有,
我认为我也可以使用 .map() 和 .reduce() 来解决这个问题,但我不知道从哪里开始。
【问题讨论】:
-
你能举一个你想要的结构的例子
-
[[设计师姓名,鞋名,价格],[设计师姓名,鞋名,价格],....] 例如,
-
如果您认为其中一个答案有帮助,请将其标记为已接受,请点击下方的按钮。
标签: javascript for-loop foreach array.prototype.map