Voglio dare una possibilità agli algoritmi genetici ma non riesco a trovare una soluzione per questo problema.Javascript non legge gli elementi dell'array che iniziano con 0
Questo è il mio codice:
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]]);
}
Se si esegue il codice, si vede che ci sono un sacco di undefineds nell'output. Cosa potrebbe causare questo?
Grazie!
come si fa a gestire "1110" in voi cromosoma? – Thomas
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Integers –
@Thomas Se una stringa generata con 1110 o 1111 la stringa non farà parte della popolazione iniziale, l'idea è aggiungere solo cromosomi alla popolazione che segue la regola "numero - operatore - numero". –