문자열 값의 여러 JavaScript 배열이 있는 경우 모든 요소에서 동일하게 나타나는 요소를 찾습니다. 배열. 예:
<code class="javascript">var arr1 = ['apple', 'orange', 'banana', 'pear', 'fish', 'pancake', 'taco', 'pizza']; var arr2 = ['taco', 'fish', 'apple', 'pizza']; var arr3 = ['banana', 'pizza', 'fish', 'apple'];</code>
예상 출력:
<code class="javascript">['apple', 'fish', 'pizza']</code>
일치하는 요소를 찾으려면 배열 방법의 조합을 사용할 수 있습니다.
<code class="javascript">const arrays = [arr1, arr2, arr3]; const result = arrays.shift().filter((v) => { return arrays.every((a) => { return a.indexOf(v) !== -1; }); });</code>
단계:
이 논리를 각 배열에 반복적으로 적용하면 제공된 배열에서 모든 동일하게 나타나는 요소를 효과적으로 찾을 수 있습니다.
중복 요소 처리:
제공된 솔루션은 배열에 중복 요소가 포함되어 있지 않다고 가정합니다. 그렇다면 다음과 같이 코드를 수정할 수 있습니다.
<code class="javascript">const result = arrays.shift().reduce((res, v) => { if (res.indexOf(v) === -1 && arrays.every((a) => { return a.indexOf(v) !== -1; })) res.push(v); return res; }, []);</code>
이 코드는 .filter() 대신 .reduce()를 사용합니다. 결과 배열 내의 중복 항목을 확인하고 모든 배열에 존재하는 고유한 요소만 추가합니다.
임의의 배열 수:
이 솔루션은 다음과 함께 작동하도록 설계되었습니다. 알 수 없는 배열 수입니다. arrays.shift()를 사용하면 모든 배열이 처리될 때까지 첫 번째 배열을 나머지 배열과 순차적으로 비교할 수 있습니다.
위 내용은 여러 JavaScript 배열에서 일치하는 요소를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!