我有一周的工作日:
var weekDays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
另一组员工:
var empl = ["Bill Smith", "Bob Brown", "Megan Stallion", "Seth Evermann", "Kelly Swartz", "Mike Belltooth"];
来自第二阵列的雇员必须在第一阵列的一天工作,例如星期一:比尔史密斯等
到目前为止我所拥有的是:
var weekDays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
for (var i = 0; i < weekDays.length; i++){
var empl = ["Bill Smith", "Bob Brown", "Megan Taylor", "Seth Evermann",
"Kelly Swartz", "Mike Woods"];
console.log( "Day: " + i + ";" + " Shift: " +
empl[Math.floor(Math.random()*empl.length)] + ";" );
}
这导致了这样的事情:
Day: 0; Shift: Megan Taylor;
Day: 1; Shift: Mike Woods;
Day: 2; Shift: Seth Evermann;
Day: 3; Shift: Bill Smith;
Day: 4; Shift: Bill Smith;
Day: 5; Shift: Bill Smith;
但是我需要它是Day:Mon,Day:Tue,Day:Wed等而不是Day:0,Day:1等。
此外,我希望每个名字只能使用一次,所以每个人只能在其中一天工作。
结果应该是这样的:
Day: Mon; Shift: Bob Brown;
Day: Tue; Shift: Megan Taylor;
Day: Wed; Shift: Bill Smith;
...
我真的很感激任何帮助,谢谢。
你快到了。使用for of
语法和splice
:
var weekDays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var empl = ["Bill Smith", "Bob Brown", "Megan Taylor", "Seth Evermann", "Kelly Swartz", "Mike Woods"];
for (var i of weekDays){
console.log(
"Day: " + i + ";" + " Shift: " +
empl.splice(Math.random()*empl.length|0, 1) + ";"
);
}
你只是缺少一段代码。
你:
console.log( "Day: " + i + ";" + " Shift: " + empl[Math.floor(Math.random()*empl.length)] + ";" );
更新:
console.log( "Day: " + weekDays[i] + ";" + " Shift: " + empl[Math.floor(Math.random()*empl.length)] + ";" );