我想給遺傳算法一個機會,但我似乎無法找到解決此問題的方案。Javascript不讀取以0開頭的數組項目
這是我的代碼:
var encodings = {
0000: 0,
0001: 1,
0010: 2,
0011: 3,
0100: 4,
0101: 5,
0110: 6,
0111: 7,
1000: 8,
1001: 9,
1010: "+",
1011: "-",
1100: "*",
1101: "/"
};
var chromosome = "";
for (var i = 0; i < 36; i++) {
chromosome += Math.round(Math.random());
}
var chromArray = chromosome.match(/.{1,4}/g);
document.write(chromArray + "<br>");
for (var o = 0; o < 9; o++) {
document.write(encodings[chromArray[o]]);
}
如果您運行的代碼,你會發現有很多在輸出undefineds的。 這會導致什麼?
謝謝!
你怎麼在你的染色體辦理 「1110」? – Thomas
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Integers –
@Thomas如果用1110或1111生成的字符串不會成爲初始羣體的一部分,這個想法是隻向符合「數字 - 算子 - 數字」規則的人羣添加染色體。 –