序文
一般的に、配列を推定することができます。この操作は複雑ではなく、ループを実行するだけです。さて、私がやりたいのは、配列にコンテンツが重複しているかどうかを判断することです。もしそうなら、trueを返してください。それ以外の場合は、falseを返します。
アイデア
配列を文字列に変えます
元の配列をループして、各フィールドをこの文字列と比較して、複製があるかどうかを確認します
文字列をb stringとb stringと比較し、b stringに文字列が含まれていることを決定する方法は?
方法:indexof()およびlastIndexof()比較方法。
まず、コードを作成します。
var arr = ["aa"、 "bb"、 "cc"、 "bb"、 "aa"]; arrrepeat(arr);
上記のように、arrrepeat(arr)検証関数を使用して実行する必要があります。以下にこの関数を構築しましょう
関数arrrepeat(arr){var arrstr = json.stringify(arr)、str; for(var i = 0; i <arr.length; i ++){if(arrstr.indexof(arrst(arrstr.lastindexof(arr [i])){return true;}};OK、ランは成功しました。
原則は特に単純です。つまり、アレイ内のフィールドの最初の発生位置と最後の発生位置が、配列から変換された文字列で一貫しているかどうかです。一貫性がない場合、この再帰が表示されることを意味します。
方法2マッチ()通常の比較方法
まず、上記のように、コードを作成します。
var arr = ["aa"、 "bb"、 "cc"、 "bb"、 "aa"]; arrrepeat(arr);
次に、arrrepeat(arr)関数を再構築します
関数arrrepeat(arr){var arrstr = json.stringify(arr)、str; for(var i = 0; i <arr.length; i ++){if((arrstr.match(new regexp(arr [i])、 "g))。原則は、決定された繰り返しの数を見つけることです。 1を超える場合、間違いなく繰り返されます。これにより、表示された回数を正確に確認できることに注意してください!したがって、この方法には実際にはより広い目的があります。
OK、ランは再び成功しました
要約します
最初の方法を比較するだけで、実際には十分です。
2番目の方法では、表示される実際の回数を見つけることができます。たとえば、4回繰り返すと、4を見つけることができます。自分で特定の目的について考えてください。
新しいregexp(arr [i]、 "g")を含む通常の方法を構築する方法も、他の人から尋ねられます。
実際、私が最初に考えたのは2番目のアイデアでした。通常の問題は長い間悩まされ、最終的にそれを解決しました。そうして初めてのアイデアを考えました。
上記は、編集者が紹介したJavaScriptの重複コンテンツを判断するための2つの方法(推奨)です(推奨)。私はそれがあなたを助けることができることを願っています!