다양한 배열의 배열에서 일치 항목 찾기
문자열 값이 포함된 JavaScript 배열이 여러 개 있는 시나리오를 생각해 보세요. 모든 단일 배열에서 동일한 일치 항목만 추출합니다.
다음 배열이 있다고 가정해 보겠습니다.
var arr1 = ['apple', 'orange', 'banana', 'pear', 'fish', 'pancake', 'taco', 'pizza']; var arr2 = ['taco', 'fish', 'apple', 'pizza']; var arr3 = ['banana', 'pizza', 'fish', 'apple'];
목표는 세 배열 모두에 나타나는 일치 항목만 포함하는 배열을 얻는 것입니다.
['apple', 'fish', 'pizza']
이 작업은 외부 라이브러리를 사용하지 않고도 수행할 수 있습니다. 한 가지 접근 방식은 every().
와 함께var result = arrays.shift().filter(function(v) { return arrays.every(function(a) { return a.indexOf(v) !== -1; }); });
메서드를 사용하는 것입니다. 이 솔루션에서는
외부 배열 정렬( 배열)을 사용하면 성능을 최적화할 수 있습니다.
arrays.sort(function(a, b) { return a.length - b.length; });
또한, 배열에 중복 항목이 있는 경우 대신 reduce() 메서드를 사용할 수 있습니다. filter().
var result = arrays.shift().reduce(function(res, v) { if (res.indexOf(v) === -1 && arrays.every(function(a) { return a.indexOf(v) !== -1; })) res.push(v); return res; }, []);
이러한 방법을 사용하면 길이를 알 수 없거나 중복된 항목이 포함된 경우에도 여러 배열의 배열에서 일치하는 항목을 효과적으로 찾을 수 있습니다.
위 내용은 Javascript에서 여러 배열의 배열에서 일치하는 항목을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!