配列に異なる値があるかどうかを調べる必要があります。存在する場合は関数 x を実行し、存在しない場合は関数 y を実行します。しかし、for ループを使用すると、最初に同じものに遭遇した場合は y が実行され、別のものに遭遇するまで x は実行されません。すべてのループを走査して、対応する関数を実行するにはどうすればよいでしょうか?
PHP中文网2017-06-30 09:59:33
1. ES5 の array.every メソッドを使用します。これは、すべての関数の実行結果が true の場合、最終結果は true になります。それ以外の場合は、早期に終了し、false が返されます。
2. for ループを使用するには、配列の最初の要素の値を保存する変数が必要です。配列内に変数と等しくない要素があることが判明したら、ループを開始します。 X を実行するときです (これは壊れる可能性があります)。それ以外の場合、配列に異なる値がない場合は、Y を実行します。実際、方法 1 にもこの変数が必要です
。3. 一度に 2 つの配列要素を受け入れる ES5 array.reduce メソッドを使用します。2 つの要素が等しいかどうかを直接比較できます。
リーリーしかし、このメソッドは壊れません
怪我咯2017-06-30 09:59:33
for ループを使用する場合は、for の外側に変数をフラグとして定義する必要があります。
リーリーES6 がサポートされている場合は、Set を使用して配列の重複を排除し、2 つの配列の長さを決定できます。 リーリー