Javascript NaN函数
此函数接收另一个(生成参数)的值。我的目标是返回cloneGene变量中的onde数组,尽管它看起来像NaN,我不知道为什么Javascript NaN函数,javascript,Javascript,此函数接收另一个(生成参数)的值。我的目标是返回cloneGene变量中的onde数组,尽管它看起来像NaN,我不知道为什么 function SampleWithReposition(generation, newGeneration) { newGeneration = []; generation = Starting_generation; var randomGeneration = Math.floor(Math.random() * pop_size) + 0;
function SampleWithReposition(generation, newGeneration) {
newGeneration = [];
generation = Starting_generation;
var randomGeneration = Math.floor(Math.random() * pop_size) + 0;
for(i=0;i<pop_size;i++){
newGeneration = generation[i] = generation[randomGeneration];
}
return newGeneration;
GenerationStep(newGeneration);
//document.write(newGeneration + ' <br />' + ' <br />');
}
//Mutation and recombination rate
function GenerationStep (mutation_rate, recombination_rate, generation, cloneGene) {
//var generation = [1, 2, 1, 54, 1, 1, 1];
generation = SampleWithReposition();
mutation_rate = recombination_rate = 0.1;
for(var i=0; i<pop_size; i++){
for(var j=0;j<gene_size; j++){
random_number = random();
var max_individual = Math.max.apply(Math, generation);
//mutation_rate
if(random_number < mutation_rate){
var cloneGene = 1;
cloneGene=generation[i][j]=generation[max_individual][j]+1;
document.write(cloneGene);
}
}
函数采样带重新定位(生成,新生成){
新一代=[];
发电=开始发电;
var randomGeneration=Math.floor(Math.random()*pop_size)+0;
对于(i=0;我不知道我是否理解这个问题,但如果我是你,我会尝试查看生成[max_individual][j]
是否是一个数字而不是字符串,如果是这样,问题可能出在samplewithresposition()
@Alberto:与其说它是一个字符串,不如说它是未定义的
,否则它就不会变成NaN
。你说得对,我忘了“1”+1=11
:DSO,你的建议是什么?samplewithresposition()
返回什么?如果它是一维数组,你不应该像二维数组一样访问它。。