> 웹 프론트엔드 > JS 튜토리얼 > JavaScript는 여러 arrays_javascript 기술의 교차점에 대한 간단한 예를 얻습니다.

JavaScript는 여러 arrays_javascript 기술의 교차점에 대한 간단한 예를 얻습니다.

WBOY
풀어 주다: 2016-05-16 17:16:19
원래의
1332명이 탐색했습니다.

프로젝트에서는 여러 배열의 교차점을 얻어야 하므로 이 예는 특정 시나리오에만 적합합니다. 예를 들어, A 배열 var a = {1000,10001,10002,10003}; B 배열 var b = {10002, 10003}; C 배열 var c = {10003};
구체적인 아이디어는 다음과 같습니다. 먼저 가장 작은 배열을 A 배열로 초기화하고 가장 작은 요소 수는 배열 A의 길이이기도 합니다. 그런 다음 각 배열을 반복하여 이러한 배열의 가장 짧은 길이를 최소 길이로 얻습니다. , 동시에 가장 짧은 길이의 배열을 얻습니다. 그런 다음 최소 배열과 각 배열을 반복하고 요소가 같은지 비교하기 시작하고 카운터를 사용하여 해당 요소가 각 배열에 존재하는지 교차 요소인지 확인합니다.
아이디어는 비교적 간단하지만 그럴 수 있습니다. 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.



 
  새 문서
 
 
 
 
  <스크립트>
        function getValues(obj){    
            var 값 = "";
            var l = obj.options.length;
            for (var i=0; i                if (i != (l-1)) {
                  values ​​= obj.options(i).value "_";
               }
                else {
                  값 = obj.options(i).value;
               }
            }
            반환 값;
        }

        function _test() {
            var ids = getValues(document.all.aa);
            var aa = _getIntersection(ids);
        }

        function _getIntersection(src) {
            var tAry = src.split("_");
            //最小数组
            var minAry = null;
            var min = tAry[0].split(",").length; //初始化第一个为长島最small数组
            minAry = tAry[0].split(",");
            for (var i = 1, len = tAry.length; i               var temp = tAry[i].split(",");
               if (temp.length < min) {
                   min = temp.length;
                    minAry = 임시;
                } 
            }
            Alert("最小数组:" minAry);

            var ret = '';
            for (var i = 0, len = minAry.length; i                var srcNum =parseInt(minAry[i]);
                var 카운터 = 0;
               for (var j = 0, ll = tAry.length; j                   var tt = tAry[j].split(",");
                   for (var k = 0, l = tt.length; k                      var tarNum =parseInt(tt[k]);
                      if (srcNum == tarNum) {
                         카운터 ;
                     }
                 }
              }
               if (counter == tAry.length) {                   ret = srcNum ",";
               }
            }
            ret = strSlice(ret, ',');
            Alert("交集是:" ret);
8 '))
                return ((str.charAt(str.length-1) == 분할) ? str.substring(0, str.length-1) : str);
            else
                return str;
        }
 

 

 
   

   
       
       
       
       
       
   

 


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿