如何使用map / reduce将一个数组适合另一个数组

时间:2016-12-16 02:53:59

标签: javascript arrays

我有一系列服务器和一系列作业。

var servers = [
  {
    name: "Lan",
    capacity: 5
  }, 

  {
    name: "Stark",
    capacity: 3
  },

  {
    name: "Tar",
    capacity: 3
  }
];

var jobs = [
  {
    name: "Tye",
    capacity: 2
  }, 

  {
    name: "Arya",
    capacity: 3
  },

  {
    name: "Rob",
    capacity: 3
  }
];

我希望能够使用最少数量的服务器运行所有作业(作业只能在一台服务器上运行,不能在两台不同的服务器上运行)。服务器可以运行任意数量的作业,达到其容量。因此,在上面的情况下,具有容量5的服务器“Lan”可以运行具有容量(2 + 3)的作业“Tye”和“Arya”。 是否可以使用map / reduce来解决这个问题。结果应该是:

result  = [
  {
    name: "Lan",
    capacity: 5,
    jobs: ["Tye", "Arya"]
  },

  {
    name: "Stark",
    capacity: 3,
    jobs: ["Rob"]
  }, 

  {
    name: "Tar",
    capacity: 3,
    jobs: []
  }

]

0 个答案:

没有答案