我在下面有这个 Javascript,我知道可能有更好的方法来做我所做的事情,所以如果你想分享更好的方法,请做,我一定会使用它。
var Apeople = ["bob", "joe", "jane", "mike", "henry", "alex"];
var Abdays = ["08/20", "01/23", "04/19", "08/16", "01/08", "04/02"];
Apeople 和 Abdays 互相排队,所以 Janes 的生日是 04/19。
我知道我不应该使用 eval() 所以如果你知道更好的方法请告诉我。
var mnths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
for(i=0; i<mnths.length; i++){
eval("var "+mnths[i]+" = []");
}
for(i=0; i<Abdays.length; i++){
var ab = Abdays[i];
if(ab.substring(0,1) == "0"){
var mn = ab.substring(1,2); //month number without 0 before it
} else {
var mn = ab.substring(0,2); //month number if 11 or 12
}
eval(""+mnths[mn-1]+".push(i)");
}
现在我有January=[1,4] April=[2,5] August=[0,3]
. 我这样做是为了找出谁的名字和生日有关。
例如Apeople[January[0]]
,joeAbdays[January[0]]
是 01/23。
我需要做的是按生日前的顺序排列每个月的条目。Abdays[January[0]]
是 01/23 但是 01/08Abdays[January[1]]
所以它们应该被交换。
当我输入这个时,我在想我可能应该使用 JSON。
所以我需要帮助的是将生日按顺序排列,同时仍然能够分辨出哪个生日对应哪个名字,同时可能找到更好的方法来编写这段代码。