출력은 여러 배열에서 공통 요소의 배열만 추출합니다

8016 단어 JavaScript

코드


다음 함수로 추출 가능
var getCommonElementsArray = function(){
  var i = 1, j = 0;
  function removeArrayDuplicates(array) {
    return array.filter(function(value, index, self) {
      return self.indexOf(value) === index;
    });
  }
  var cmnElmArray = arguments[0].slice();
  cmnElmArray = removeArrayDuplicates(cmnElmArray);
  var tgtElmArray = [];
  while(i < arguments.length){
    tgtElmArray = arguments[i++].slice();
    j = 0;
    while(j < cmnElmArray.length){
      if(tgtElmArray.indexOf(cmnElmArray[j])>=0){
        j++;
      }else{
        cmnElmArray.splice(j, 1);
      }
    }
  }
  return cmnElmArray;
};

작업 예


Chrome의 Constore를 통한 실행, 검증

동작


함수의 기본 동작을 확인하다.
함수의 매개 변수에 하나 이상의 진열을 추가하여 실행하면 공통 요소만 추출하는 배열이 되돌아옵니다.
동작 검증 코드
var array1 = [1,2,3,3,'hogehoge','foo','bar'];
var array2 = [2,1,0,3,'foo'];
console.log('common',getCommonElementsArray(array1,array2));
console.log('array1',array1);
console.log('array2',array2);
동작 결과
getCommonElementsArray()를 사용하면 두 패턴에서 공통 컴포넌트만 추출할 수 있습니다.
결과적으로 얻어진 진열에는 같은 요소가 여러 개 포함되지 않는다.
또한 값이 전달되었기 때문에 처리가 끝난 후 원시 배열은 가공되지 않았다.

동작


처리된 배열이 3개 이상이어도 문제없이 작업할 수 있다
인증 코드
getCommonElementsArray([0,1,2,3,4,5,6,7,8,9,10], [0,2,4,6,8,10], [0,1,2,3,5,8,13,21]);
동작 결과

동작


공통 요소가 없으면 빈 배열로 돌아갑니다

좋은 웹페이지 즐겨찾기