、あなたは少なくとも何かを書いて、あなたが得るどのくらい見てみてください役立つことを願っています。
とにかく、奇数のない配列を見つけるには、のパスコードの要素を繰り返してみたいと思うようです。
最初のタスクは、番号が偶数であるかどうかを判断する方法です。これはモジュラス2から残りの部分を探すのと同じくらい簡単です。余りがゼロの場合、数値は偶数です。それ以外の場合は奇数です。
そこで簡単なテストである:(!)0型は偽に変換するので
var isEven;
if (x % 2 == 0) {
isEven = true;
} else {
isEven = false;
}
はなく、操作者が値のtruthinessを反転ブールに結果を変換する、上記に書くことができる。
var isEven = !(x % 2);
あなたのタスクはいない奇数番号の要素を見つけることだけだった場合、私はテストがfalseを返すとすぐに返しArray.prototype.every、またはArray.prototype.someを、使用したい配列を反復処理するために多くの方法がありますどのテストが再開するとすぐに戻ります真実になります。
ただし、この場合、各要素の偶数の数を数え、すべての偶数で最初の要素を探したいとします。 1つの方法は、配列を繰り返し処理し、要素内の偶数の数を書き出し、そのすべての偶数がある場合にも書き込むことです。出力がどのようになると予想されていないので、私はちょうど推測しました。
var passcodes = [
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3], // this last comma affects the array length in some browsers, remove it
];
// Set flag for first element with all even numbers
var foundFirst = false;
// Iterate over each element in passcodes
passcodes.forEach(function(code) {
// Count of even numbers in current array
var evenCount = 0;
// Test each element of code array and increment count if even
code.forEach(function(num) {
if (!(num % 2)) ++evenCount;
});
// If all elements are even and haven't found first yet, write out elements
if (code.length == evenCount && !foundFirst) {
console.log('Passcode (first all even): ' + code.join());
// Set flag to remember have found first all even array
foundFirst = true;
}
// Write count of even numbers in this array
console.log('Even number count: ' + evenCount + ' of ' + code.length + ' numbers.');
});
あなたのコードを投稿してください。 –
考えてみてください。そして、それが最初に助けにならなかったら、もっと考えてください。あなたは最終的にそれを理解するでしょう。 – Ivan
あなたはどのような解決策を試しましたか?あなたはそれを共有できますか? –