Javascript 如何在嵌套对象数组上添加属性并编辑原始数组?

Javascript 如何在嵌套对象数组上添加属性并编辑原始数组?,javascript,Javascript,我一直在尝试这样做,但是在上一个控制台日志中我没有定义,怎么了 dishes = dishes.map((cat) => { cat.map((dish) => { console.log("cat", dish[0], "dish", dish[1]); dish[1].map((element) => { element = { ...element, categor

我一直在尝试这样做,但是在上一个控制台日志中我没有定义,怎么了

 dishes = dishes.map((cat) => {
      cat.map((dish) => {
        console.log("cat", dish[0], "dish", dish[1]);
         dish[1].map((element) => {
          element = { ...element, category: dish[0] };
        });
      });
    });

    console.log("dishes",dishes)


您将无法返回映射结果

 dishes = dishes.map((cat) => {
  return cat.map((dish) => {
    console.log("cat", dish[0], "dish", dish[1]);
    return dish[1].map((element) => ({ ...element,
      category: dish[0]
    }))
  });
});
仍然未定义请检查映射前正确声明的
碟形
数组

var dishes = [something]

您必须在
映射中返回一些内容
回调
。使用时,您不一定需要包含
return
关键字。在只需要返回表达式结果的情况下,可以删除主体括号和
return
。例如:
const addOne=a=>{returna+1}
可以简化为只
const addOne=a=>a+1

在您的情况下,逻辑可能更像:

常量类别=[
[“第1类”[
{name:'dish 1'},
{name:'dish 2'},
] ],
[“第2类”[
{name:'dish 3'},
] ],
]
const dishesWithCategory=categories.flatMap(
([category,disks])=>disks.map(dish=>({……dish,category}))
)
console.log('disks',dishesWithCategory)