webForumDet fria alternativet

Ta bort ett element från i array

JavaScriptur Javascript

2 svar · 1 293 visningar · startad av grennfox

Medlem sedan feb. 2010177 inlägg
Frågan#1

Hallå, sitter och försöker lösa en uppgift som jag blir knäpp på.

Det är som så att jag har en array med en mängd olika ord, jag tar sedan ut ett slumpmässigt ord från den här listan. Men då till själva problemet, att när det här ordet väl har blivit valt så vill jag ta bort det från listan.
Jag har kommit fram till att jag måste använda "splice" men vet inte riktigt hur jag ska använda det.

Så här ser koden ut som väljer ut ordet:

function selectWord(words){
    var selectedWord = Math.floor(Math.random() * words.length)	    
	    return words[selectedWord]
}

Där words är listan med orden.

Har suttit ett bra tag nu här men vet inte hur jag ska göra. Tackar för all hjälp jag kan få :)

Medlem sedan juni 20019 519 inlägg
#2

Du är nog ute efter splice:

function selectWord(words){
    var selectedWord = Math.floor(Math.random() * words.length);
    return words.splice(selectedWord, 1)[0];
}

så den array du skickar in kommer bli ett index kortare för varje gång du kör den:

var words = ['test', 'test2','test3'];
selectWord(words); //words "kan" bli: ['test','test3']

om du förstå vad jag menar.

Medlem sedan feb. 2010177 inlägg
#3

ah tack så mycket det var precis vad jag sökte efter :)

129 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)