Ta bort ett element från i array

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • grennfox
    Medlem
    • 2010-02-03
    • 191

    #1

    Ta bort ett element från i array

    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:
    Code:
    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å
  • voigtann1
    Forumvärd
    • 2001-06-14
    • 8810

    #2
    Du är nog ute efter splice:

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

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

    [kod]
    var words = ['test', 'test2','test3'];
    selectWord(words); //words "kan" bli: ['test','test3'][/kod] om du förstå vad jag menar.
    "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

    Comment

    • grennfox
      Medlem
      • 2010-02-03
      • 191

      #3
      ah tack så mycket det var precis vad jag sökte efter

      Comment

      Working...