2016-11-04 50 views
0

我需要製作一個能夠替換陣列位置(文本)的按鈕。 例如陣列位置3需要變成陣列位置1. 它只需要工作一次,但總是歡迎學習如何使其多次執行。它必須用for循環完成。如果modulo是一個解決方案,請給我解釋一下,因爲我不完全確定它是如何工作的。 這裏是我的代碼:如何讓一個按鈕更改Javascript陣列位置?

<body> 
<button type='button' onclick="Husselaar()">Husselen!</button> 
     <br> 
     <script> 
      var games = ["Minecraft", "Assassin&#39;s Creed", "Rise Of The Tomb Raider", "Far Cry", "Tom Clancy&#39;s Rainbow Six Siege", "Call of Duty", "Grand Theft Auto V", "Hotline Miami", "American Truck Simulator", "Life is Strange"]; 
      var arrayLength = games.length; 
      for (var i = 0; i < arrayLength; i++) { 
       document.write(games[i] + "<br>"); 
       } 
      function Husselaar(){ 
        var husselaar = document.getElementById(""); 
        Math.floor((Math.random(husselaar) * 9)+ 1); 
       } 
     </script> 
</body> 

在此先感謝! :)

回答

4

你可以用Array.splice(startposition,amount)提取你的數組的一部分。使用Array.concat將舊數組與合成數組合並。

var games = ["Minecraft", "Assassin&#39;s Creed", "Rise Of The Tomb Raider", "Far Cry", "Tom Clancy&#39;s Rainbow Six Siege", "Call of Duty", "Grand Theft Auto V", "Hotline Miami", "American Truck Simulator", "Life is Strange"]; 
 

 
function toStart() { 
 
    var promptStr = "Choose the game to send to start:\n"; 
 
    for (var i = 0; i < games.length; i++) { 
 
    promptStr += i + ": " + games[i] + "\n" 
 
    } 
 
    var index = parseInt(prompt(promptStr)); 
 

 
    games = games.splice(index, 1).concat(games); 
 
    console.log(games); 
 
}
<button type='button' onclick="toStart()">Husselen!</button>

+0

的jsfiddle:https://jsfiddle.net/L77em59d/添加了更新文本 – thatOneGuy

+0

謝謝你曾經這麼多,讓我擺脫這種局面! :) – ShoarmaKarma