Chcę dać szansę algorytmom genetycznym, ale nie mogę znaleźć rozwiązania dla tego problemu.JavaScript nie czyta elementów tablicy zaczynających się od 0
To jest mój kod:
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]]);
}
Jeśli uruchomić kod, widać, że istnieje wiele undefineds na wyjściu. Co by to spowodowało?
Dzięki!
w jaki sposób można obsłużyć "1110" w was chromosomie? – Thomas
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Integers –
@Thomas Jeśli ciąg znaków wygenerowany za pomocą 1110 lub 1111 ciąg nie będzie częścią początkowej populacji, pomysł jest następujący: dodawanie tylko chromosomów do populacji, która kieruje się zasadą "numer - operator - liczba". –