所以,我有一個數組,其中包含多個字符串。第二個循環忽略某些字符串
var Array = ["mods/red1.png", "mods/red2.png", "mods/red3.png", "mods/orange1.png", "mods/orange2.png", "mods/orange3.png", "mods/blue1.png", "mods/blue2.png", "mods/blue3.png"];
我的函數隨機選取一個。我需要設置它:如果它拾取了red1,它將忽略所有帶有紅色的字符串,並且只打印出橙色或藍色中的一個。
當前的代碼看起來是這樣的:
var num = Math.floor(Math.random() * Array.length);
var num2 = Math.floor(Math.random() * Array.length);
if(RedModArray[num] !== undefined){
document.mod1.src = Array[num];
if(Array[num].indexOf("red") > -1){
document.mod2.src = Array[num2];
}
但無論我做什麼,它要麼不打印出任何東西,或仍是隨機的。
mod1
和mod2
是html中元素的名稱。
你說得對,我的意思是,但我有0的想法,我應該如何實施片段到我目前的功能。但是我想出了一個想法,我應該爲每種顏色創建一個數組,然後隨機選擇一個數組,然後從該數組中選擇一個字符串,如果它有意義的話。 – H4rdas
我不知道你的實際用例,所以我不能真正幫助。如果你不能修改一個數組(如果用「b = a.filter ...」代替「a = a.filter ...」,然後使用b),你總是可以使用第二個數組。 – ZPiDER