楽しいので、私はCheckiOでJavaScriptをいくつか開始しました。中央値のタスクで私は問題を持っています。最初に、for
ループで指定された配列をソートしようとしました。ループ中に配列を見るために、私はconsole.log
を使用しました。forループによる配列の並べ替えが失敗しました
for (var i = 0; i < data.length-1; i++) {
if (data[i] > data[i+1]) {
var temp = data[i];
data[i] = data[i+1];
data[i+1] = temp;
i = 0;
}
console.log(data);
}
間違った位置に番号が1つしかない場合は問題です。並べ替えが停止し、配列を数回印刷するだけです。 例:
median([5,4,3,2,1])
[ 4, 5, 3, 2, 1 ]
[ 4, 3, 5, 2, 1 ]
[ 4, 3, 5, 2, 1 ]
[ 4, 3, 2, 5, 1 ]
[ 4, 2, 3, 5, 1 ]
[ 4, 2, 3, 5, 1 ]
[ 4, 2, 3, 5, 1 ]
[ 4, 2, 3, 1, 5 ]
[ 4, 2, 3, 1, 5 ]
[ 4, 2, 1, 3, 5 ]
[ 4, 1, 2, 3, 5 ]
[ 4, 1, 2, 3, 5 ]
[ 4, 1, 2, 3, 5 ]
[ 4, 1, 2, 3, 5 ]
この動作の説明はありますか?ありがとう!
https://developer.mozillaをご覧ください。org/ja-ja/docs/Web/JavaScript/Reference/Global_Objects /配列/ソート – ericwenn
ソートを手作業で行う必要がありますか、 'data.sort();'を使用して処理することができますか? – James
私はあなたの理解とあなたのコードと私の違いを確認できるように私の答えのビットを改訂しました。私はソートループのこの考え方はシンプルでいいですが、フィニッシュラインに到達するにはデバッグの助けが必要でした。私の答えは単に解決策ではなく、あなたが自分のミスをコンソールでどのように見て、デバッグがうまくいくかを自分で理解する方法でもあります。 –