我需要计算数组 [i] 的最大数量,尽管当我添加 [i] 时使用此函数,max_individual = NaN 而不是数组的最大数量,我不知道为什么。然后,如果条件经过验证,我将 1 添加到此数组的max_number。
下面是代码。
pop_size=3;
gene_size=7;
var cloneGene = 1;
for(var i=0; i<pop_size; i++){
generation[i]=new Array(gene_size);
var max_individual = Math.max.apply(Math, generation[i]);
for(var j=0;j<gene_size; j++){
generation[i][j]=1;
random_number = random();
//mutation_rate
if(random_number < mutation_rate){
cloneGene = generation[i][j]=generation[i][j]+1;
document.write(cloneGene);
}
}
}
Math.max.apply(Math, array);
所以可能会脱掉[i]
.
Math.max.apply(Math, generation);
这是因为generation[i]
是一个undefined
值的数组。
generation[i] = new Array(gene_size);
难怪你要找回NaN。你试图从一堆虚无中找到最大值。
小提琴。
使用 parseInt
或 parseFloat
,因为 JavaScript 中没有特定的数据类型。