javascript - 以一对多关系将对象组合在一起

标签 javascript object

我有一段代码可以输出多个对象数组。如何将这些对象合并在一起,以便获得具有一对多关系的组合对象?

Plunkr link

var newGender = { gender: "Male" };
var newFruit = [{ fruits: "Apple" }, { fruits: "Orange" }, { fruits: "Kiwi" } ];
var newName = "My name";

如何编写一个函数将这些数据组合在一起,以便得到这样的数组?

[
    {
        gender: "Male",
        name: "My name",
        fruits: "Apple"
    },
    {
        gender: "Male",
        name: "My name",
        fruits: "Orange"
    },
    {
        gender: "Male",
        name: "My name",
        fruits: "Kiwi"
    }
]

我选择的水果中的每个条目都应该是一个单独的对象。

最佳答案

由于水果是唯一可以选择多个值的项目,因此这非常简单:

function combineSelections(name, gender, fruits) {
  if (!(name && gender && fruits)) {
    return [];
  }

  return fruits.map(function(fruit) {
    return {
      name: name,
      gender: gender.gender,
      fruit: fruit.fruits
    };
  });
}

var newName = 'Arun';
var newGender = {
  gender: 'male'
};
var newFruits = [
  { fruits: 'kiwi' },
  { fruits: 'dragonfruit' },
  { fruits: 'mango' }
];

console.log(combineSelections(newName, newGender, newFruits));

关于javascript - 以一对多关系将对象组合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47290456/

相关文章:

javascript - 计时器在 ReactJS 中不倒计时

对象中的 JavaScript 函数执行

java - 无法获取父级的哈希码并将其设置为子级的变量

javascript - 按字母顺序/按日期对多列列表进行排序,无需像 Dropbox 那样使用 HTML/javascript/jQuery 中的表格

javascript - Angular2 @ViewChild 没有从 ng2-charts 中获取 BaseChartDirective

javascript - 从 http 响应中获取 API : Get title, 关键字和正文

C++读/写PPM图像文件变灰图像

jquery - 如何使用对象创建并向 jquery 按钮添加操作?

c++ - 从对象 vector 返回特定类的对象

javascript - 无法存储线串和多边形 - MEAN + Mongoose