머리말
일반적으로 배열을 제거 할 수 있습니다. 이 작업은 복잡하지 않으며 루프 만 실행하십시오. 이제 내가하고 싶은 것은 배열에 중복 내용이 있는지 여부를 결정하는 것입니다. 그렇다면 True를 반환하십시오. 그렇지 않으면 거짓을 반환하십시오.
아이디어
배열을 문자열로 바꿉니다
원래 배열을 반복하고 각 필드를이 문자열과 비교하여 복제가 있는지 확인하십시오.
문자열을 b 문자열과 b 문자열과 비교하고 b 문자열이 문자열이 포함되어 있는지 결정하도록 요청하는 방법은 무엇입니까?
방법 : 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 (arr [i])! = arrstr.lastindexof (arr [i])) {return true;}}; return false;}좋아, 달리기는 성공했다.
원리는 특히 간단합니다. 즉, 배열에서 필드의 첫 번째 발생 위치와 마지막 발생 위치가 배열에서 변환 된 문자열에서 일관성이 있는지 여부입니다. 일관성이 없다면이 재귀가 나타나는 것을 의미합니다.
방법 2 match () 정기 비교 방법
먼저 위와 같이 코드를 작성합니다.
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)> 1)}.원칙은 결정된 반복 수를 찾는 것입니다. 1보다 큰 경우 반복됩니다. 이것은 몇 번이나 나타 났는지 정확하게 찾을 수 있습니다! 따라서이 방법은 실제로 더 넓은 목적을 가지고 있습니다.
좋아, 달리기가 다시 성공했다
요약
첫 번째 방법을 비교하면 실제로 충분합니다.
두 번째 방법은 나타나는 실제 횟수를 찾을 수 있습니다. 예를 들어, 4 번 반복하면 4를 찾을 수 있습니다. 특정 목적에 대해 스스로 생각하십시오.
변수를 포함하는 정기적 인 방법을 구축하는 방법 New Regexp (ARR [i], "G")도 다른 사람들이 묻습니다.
사실, 내가 처음으로 생각한 것은 두 번째 아이디어였습니다. 규칙적인 문제는 오랫동안 어려움을 겪었고 마침내 해결했습니다. 그래야만 첫 아이디어를 생각했습니다.
위는 편집자가 귀하에게 소개 한 JavaScript의 중복 내용을 판단하기위한 두 가지 방법 (권장)입니다. 나는 그것이 당신을 도울 수 있기를 바랍니다!