webForumDet fria alternativet

Ta bort ett element från i array

2 svar · 1 293 visningar · startad av grennfox

grennfoxMedlem sedan feb. 2010191 inlägg
#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å :)

voigtann1Medlem sedan juni 20018 810 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.

grennfoxMedlem sedan feb. 2010191 inlägg
#3

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

Genererad på 389 ms · cache AV · v20260730165559-full.f96bc7eb