다른 배열의 모든 요소에서 배열을 필터링하는 것은 일반적인 프로그래밍 작업입니다. JavaScript에서는 일반적으로 이를 수행하기 위해 .filter() 함수를 사용합니다. 그러나 제거할 값을 함수에 제공하는 방법을 이해하는 것은 어려울 수 있습니다.
다음 시나리오를 고려하십시오.
var array = [1,2,3,4]; var anotherOne = [2,4]; var filteredArray = array.filter(myCallback); // filteredArray should now be [1,3] function myCallBack(){ return element ! filteredArray; //which clearly can't work since we don't have the reference <,< }
위 예에서 myCallBack 함수는 요소를 반환하려고 시도합니다. 필터링된 배열에는 없지만 함수 호출 시에filteredArray가 아직 정의되지 않았기 때문에 이 논리는 작동하지 않습니다.
다음을 사용하여 배열을 필터링하려면 filter() 함수를 사용하려면 필터링된 배열에 포함되어야 하는 요소에 대해 true를 반환하고 제거되어야 하는 요소에 대해 false를 반환하는 콜백 함수를 전달해야 합니다. 그런 다음 원본 배열의 각 요소에 콜백 함수를 적용하여 필터링된 배열을 생성합니다.
다른 배열의 모든 요소에서 배열을 필터링하는 경우 콜백 함수는 다음과 같이 단순화될 수 있습니다. 다음 코드:
var arr1 = [1,2,3,4], arr2 = [2,4], res = arr1.filter(item => !arr2.includes(item)); console.log(res); // Output: [1,3]
여기서 filter() 함수는 arr1을 반복하고 각 요소에 대해 콜백 함수를 호출합니다. 콜백 함수 item => !arr2.includes(item)은 arr2에 없는 요소에 대해 true를 반환하고 그렇지 않으면 false를 반환합니다. 결과적으로 필터링된 배열 res에는 arr2에 없는 요소 [1,3]만 포함됩니다.
위 내용은 JavaScript에서 다른 배열의 요소로부터 배열을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!