配列に異なる値があるかどうかを調べる必要があります。存在する場合は関数 x を実行し、存在しない場合は関数 y を実行します。しかし、for ループを使用すると、最初に同じものに遭遇した場合は y が実行され、別のものに遭遇するまで x は実行されません。すべてのループを走査して、対応する関数を実行するにはどうすればよいでしょうか?
光阴似箭催人老,日月如移越少年。
Array.prototype.every() または Array.prototype.some() を使用します
1. ES5 の array.every メソッドを使用します。これは、すべての関数の実行結果が true の場合、最終結果は true になります。それ以外の場合は、早期に終了し、false が返されます。
実際、方法 1 にもこの変数が必要です
3. 一度に 2 つの配列要素を受け入れる ES5 array.reduce メソッドを使用します。2 つの要素が等しいかどうかを直接比較できます。
しかし、このメソッドは壊れません
for の前に変数を追加し、for で変数が見つかった場合は変更し、for の後に変数が見つかった場合は変更します
for ループを使用する場合は、for の外側に変数をフラグとして定義する必要があります。
ES6 がサポートされている場合は、Set を使用して配列の重複を排除し、2 つの配列の長さを決定できます。 リーリー
「異なる値がある」という説明は少し曖昧ですが、配列に他の値とは異なる値があるということです。
Array.prototype.every() または Array.prototype.some() を使用します
1. ES5 の array.every メソッドを使用します。これは、すべての関数の実行結果が true の場合、最終結果は true になります。それ以外の場合は、早期に終了し、false が返されます。
2. for ループを使用するには、配列の最初の要素の値を保存する変数が必要です。配列内に変数と等しくない要素があることが判明したら、ループを開始します。 X を実行するときです (これは壊れる可能性があります)。それ以外の場合、配列に異なる値がない場合は、Y を実行します。実際、方法 1 にもこの変数が必要です
。3. 一度に 2 つの配列要素を受け入れる ES5 array.reduce メソッドを使用します。2 つの要素が等しいかどうかを直接比較できます。
リーリーしかし、このメソッドは壊れません
for の前に変数を追加し、for で変数が見つかった場合は変更し、for の後に変数が見つかった場合は変更します
for ループを使用する場合は、for の外側に変数をフラグとして定義する必要があります。
リーリーES6 がサポートされている場合は、Set を使用して配列の重複を排除し、2 つの配列の長さを決定できます。 リーリー
「異なる値がある」という説明は少し曖昧ですが、配列に他の値とは異なる値があるということです。