JavaScript:通过链接两个数组创建一个JSON对象数组

假设我们有两个像这样的数组-

const meals = ["breakfast", "lunch", "dinner"];
const ingredients = [
   ["eggs", "yogurt", "toast"],
   ["falafel", "mushrooms", "fries"],
   ["pasta", "cheese"]
];

我们需要编写一个JavaScript函数,该函数接受两个这样的数组并将第二个数组中的子数组映射到第一个数组中的相应字符串。

因此,上述数组的输出应类似于-

const output = {
   "breakfast" : ["eggs", "yogurt", "toast"],
   "lunch": ["falafel", "mushrooms", "fries"],
   "dinner": ["pasta", "cheese"]
};

示例

为此的代码将是-

const meals = ["breakfast", "lunch", "dinner"];
const ingredients = [
   ["eggs", "yogurt", "toast"],
   ["falafel", "mushrooms", "fries"],
   ["pasta", "cheese"]
];
const combineMealAndIngredient = (meals, ingredients) => {
   const res = {};
   meals.forEach(function (el, ind) {
      this[el] = ingredients[ind];
   }, res);
   return res;
};
console.log(combineMealAndIngredient(meals, ingredients));

输出结果

控制台中的输出将是-

{
   breakfast: [ 'eggs', 'yogurt', 'toast' ],
   lunch: [ 'falafel', 'mushrooms', 'fries' ],
   dinner: [ 'pasta', 'cheese' ]
}