私は以下にこの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]]
joeで、Abdays[January[0]]
01/23になります。
私がする必要があるのは、毎月のエントリを、誕生日が最初に来る順に並べることです。Abdays[January[0]]
01/23ですAbdays[January[1]]
が01/08なので、交換する必要があります。
これを入力しているときに、おそらくJSONを使用すべきだったと思います。
ですから、私が助けを必要としているのは、誕生日を整理しながら、どの誕生日がどの名前になっているのかを知ることができると同時に、このコードを書くためのより良い方法を見つけることです。