2017-06-12 6 views
-2

私は現在、5種類の色を持つ配列を持っています。これらの色をループして形状にして表示するforループがあります。配列を反転する(色の形)

var canvas = document.getElementById('canvas'); 
var gc = canvas.getContext('2d'); 

var xPos = 25; 
var yPos = 25; 

var colourArray = []; 
    colourArray[0] = 'red'; 
    colourArray[1] = 'yellow'; 
    colourArray[2] = 'blue'; 
    colourArray[3] = 'magenta'; 
    colourArray[4] = 'green'; 

for(var count = 0; count < 5; count++){ 
    myColour = colourArray[count]; 
    xPos = 20+70*count; 
    gc.beginPath(); 
    gc.rect(xPos, yPos, 50, 50); 
    gc.fillStyle = myColour; 
    gc.fill(); 
}  

私の人生のために、私はこれを逆にする方法を考えようとしていますので、緑色の最初と最後の赤色が表示されます。

+0

、あなたはこれを取得:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array /あなたはあなたのタイトルのキーワードを釘付けにしました。 – Adam

+0

これは私のforループのどこに行きますか? –

答えて

0

アクセスするインデックスを配列の長さに基づいて配列から変更するだけです。最初の反復で配列の最後のアイテム(この場合は4)を取得し、最後の反復でインデックス0のアイテムを取得したいとします。このコードは、あなたが持っている色の数に関係なく機能しますcolourArrayに:あなたはグーグルの配列reverse` `を入力

var length = colourArray.length; 

for (var i = 0; i < length; i++) { 
    myColour = colourArray[length - (i + 1)]; 
    xPos = 20+70*i; 
    gc.beginPath(); 
    gc.rect(xPos, yPos, 50, 50); 
    gc.fillStyle = myColour; 
    gc.fill(); 
} 
+0

私はこれを試して、それは動作していないようです。 –

+0

@LeeMillward何が正しく機能していないのですか?私にとって完璧に動作すると思われます:https://codepen.io/anon/pen/EXygZq – sbking

0
var colourArray = []; 
colourArray[0] = 'red'; 
colourArray[1] = 'yellow'; 
colourArray[2] = 'blue'; 
colourArray[3] = 'magenta'; 
colourArray[4] = 'green'; 

colourArray =colourArray.reverse(); 
+0

このコードは質問に答えるかもしれませんが、どのようにして問題が解決されるのかについての追加の文脈を提供すると、回答の長期的な価値が向上します。 – Badacadabra

関連する問題