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列的二維陣列
在單獨測驗時能正常得到,但放在有其他功能的網頁里面就會像圖中只有最后一行有資料,為什么呢
uj5u.com熱心網友回復:
看看頁面中其它功能的代碼是不是也用了Chrom做全域變數。建議不要對js內置物件用prototype添加自定義的方法。這可能會影響同頁面其它功能的代碼。
要把shuffle改為普通函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/45455.html
標籤:JavaScript
上一篇:跪求大佬幫助 不甚感激
