function GAInitPop() {
Chrom = new Array();
for(var ik=0; ik<10; ik++){ //一维长度为
Chrom1[ik] = randperm(7);
console.log(Chrom[ik]);
}
console.log(Chrom);
return Chrom
}
//建立从1到num的整数数组并乱序排列
function randperm(num) {
var randarr=new Array();
for(var ir = 0; ir < num; ir ++){
randarr[ir] = ir+1;
}
randarr.shuffle();
return randarr;
}
//Array洗牌
Array.prototype.shuffle = function() {
var j, tmp, i;
for(i = this.length-1; i>0; i--){
j = parseInt(Math.random() * i);
tmp = this[i];
this[i] = this[j];
this[j] = tmp;
}
}
Chrom = GAInitPop();
console.log(Chrom)
我希望得到一个10行7列的二维数组
在单独测试时能正常得到,但放在有其他功能的网页里面就会像图中只有最后一行有数据,为什么呢
Chrom1
是什么?就暂且当你写错了,我当它是Chrom
。然后看你说测试的时候正常,但是放到网页中就有问题了。
那么就说说什么情况会导致这个问题
这种给最后赋值的问题,很熟悉,那就是闭包。