私は非常に限られたJavascriptの知識を使って問題を解決しようとしています。配列内の要素を数え、それらを比較する、javascript
特定の文字が配列に現れる回数を数え、同じ配列内に別の文字が現れる回数と比較する方法を構築しようとしました。
私は4つのテストのうち3つを渡すことができ、私が知る限り多くの方法を試してコードを何度も書き直しました。
私がやったことは効率的ではないことを認識しています...数週間のスキルで問題解決に取り組んでいます。
任意の入力を気に入ってください。ありがとう。
function isValidWalk(walk) {
var north = new Object();
var south = new Object();
var east = new Object();
var west = new Object();
for (var i = 0; i <walk.length; i++){
if (walk[i] == "n")
{north.input = "x"}
}
for (var i = 0; i <walk.length; i++){
if (walk[i] == "s")
{south.input = "x"}
}
for (var i = 0; i <walk.length; i++){
if (walk[i] == "e")
{east.input = "x"}
}
for (var i = 0; i <walk.length; i++){
if (walk[i] == "w")
{west.input = "x"}
}
if (north.input == south.input && east.input == west.input && walk.length==10) {
return true;
}
else {
return false;
}
}
散歩の内容を追加してください。 –
すぐに来るもの:なぜこれらすべてのforループが、あなたはただ1つを使うことができ、その中のすべてのテストをしますか? – blex
複数のループは必要ありません。その代わりに 'switch(walk [i])'を使ってください。 – Andy