2017-10-12 37 views
0

我有一個代表紙牌的混洗陣列。 現在我需要從數組'myDeck'中選取2-5個「卡片」並顯示它們。 我是否使用循環?用.shift挑選數組

現在我用的是可變的多個實例:

let shifted = myDeck.shift() 
let shifted2 = myDeck.shift() 

和顯示目的,我使用簡單:

console.log(shifted + shifted2) 

所以不是這樣,它的工作原理。我可以使用循環嗎? 像這樣:

for(i = 0; i < 5; i++) { 
    myDeck.shift += i 
    return myDeck } 

或者我如何能得到這個?

非常感謝您提前。問候,托馬斯

回答

1

您可以使用Array#splice採取項目從一個陣列,並分配給另一個數組:

var myDeck = [1, 2, 3, 4, 5]; 
 

 
// remove 3 items starting from index 0, and assign to picked 
 
var picked = myDeck.splice(0, 3); 
 

 
console.log('myDeck: ', myDeck.join()); 
 

 
console.log('picked: ', picked.join());

0

理論上,如果你已經有了一個「洗牌」的甲板,只是不管你需要多少張卡片,請從上面取下:

var x = 2 // or 5, however many you want 
var myCards = myDeck.slice(0, x); 
console.log(myCards);