我的問題是以下內容。我有兩個數組,我想將一個元素從數組A移動到數組B.但是它並不那麼容易。哪個元素將完全是隨機的。我複製我的代碼,所以我的目標會更容易理解:
var array1 = ["A","B","C"];
var array2 = [];
var move = function() {
var x = Math.floor((Math.random() * 100) + 1);
if (x > 0 && x < 33.1 && array1[0] !== "undefined")
{array2.push(array1[0])
delete array1[0]
}
if (x > 33.2 && x < 66.1 && array1[1] !== "undefined")
{array2.push(array1[1])
delete array1[1]
}
if (x > 66.2 && x < 100.1 && array1[2] !== "undefined")
{array2.push(array1[2])
delete array1[2]
}
else {
move();
return
}
}
move();
move();
move();
console.log(array1);
console.log(array2);
所以其目的是,函數調用的3倍,我們將在B陣列中的三個要素。如果隨機數是「未定義的」,我希望我的函數自動重啓。所以對於下一個隨機卷,它會選擇另一個元素。等等等等。 我的想法中的代碼,但它不工作,因爲它仍有下探「不確定」的。 謝謝,
ARRAY1 [2]!==「undefined」你比較的不是undefined,而是一個字符串的文本是'undefined';) 你想要的是array1 [2]!== undefined – grzesiekgs
你應該使用'typeof array1 [2]!= =「undefined」' – VDarricau
第二件事。我不知道你說的是什麼意思: '如果隨機數是「未定義」,我希望我的函數自動重啓' Math.random將始終返回0和1之間的數字 – grzesiekgs