2017-10-04 10 views
-1

私は次のことを達成しようとしています:繰り返しごとにforループをconsole.logから停止できますか?

サイズNの整数の配列を考えてみましょう。すべての要素の位置を値Xで見つけて印刷します。変数と値を選択できます。ここで

は私の変数です:

var numLocation = []; 
var givenNum = 8; 
var arr = [0,8,1,2,4,5,7,8,9,0,8] 

これは、この関数を呼び出した後、私の結果である

function indexPosition(arr) { 
    for(var i = 0; i <= arr.length; i++) { 
    if (arr[i] === givenNum) { 
    numLocation.push(i) 
    } else { 
     console.log (numLocation) 
    } 
    } 
} 

私の関数である。

[] 
[1] 
[1] 
[1] 
[1] 
[1] 
[1,7] 
[1,7] 
[1,7,10] 

私は最後を表示するにはどうすればよいですそれはどこに番号8が位置している3つの位置を示して反復?意味、どうすればconsole.logは最終結果のみですか?

+0

あなたのforループの後に 'console.log'を入れて...基本的には最後の'}の前に ' – Keith

+0

は、ループの'はconsole.log() '外を置きますか? –

答えて

1

forループの外でlogステートメントを呼び出します。これと同じように:

function indexPosition(arr, givenNum) { 
    var numLocation = [] 

    for (var i = 0; i <= arr.length; i++) { 
    if (arr[i] === givenNum) { 
     numLocation.push(i) 
    } 
    } 

    console.log(numLocation) 
} 
+0

あなたが私の答えに満足しているなら、それを合格とマークしてください。 – Alex

+0

ありがとう、アレックス、これは素晴らしいです! – HidFer

-1

私はそれを自分で考え出しました。反復が終了したときを比較して1つの結果しか表示されない場合は、別のものが必要でした。

function indexPosition(arr) { 
    for(var i = 0; i <= arr.length; i++) { 
    if (arr[i] === givenNum) { 
     numLocation.push(i) 
    } else if (i === arr.length) { 
    console.log (numLocation) 
    } 
    } 
} 
+1

Alexによって提供された答えはもっと理にかなっていると思います。これはコードを複雑にし、それを長くする必要があります。 – damanptyltd

関連する問題