프로젝트에서는 여러 배열의 교차점을 얻어야 하므로 이 예는 특정 시나리오에만 적합합니다. 예를 들어, A 배열 var a = {1000,10001,10002,10003}; B 배열 var b = {10002, 10003}; C 배열 var c = {10003}; 구체적인 아이디어는 다음과 같습니다. 먼저 가장 작은 배열을 A 배열로 초기화하고 가장 작은 요소 수는 배열 A의 길이이기도 합니다. 그런 다음 각 배열을 반복하여 이러한 배열의 가장 짧은 길이를 최소 길이로 얻습니다. , 동시에 가장 짧은 길이의 배열을 얻습니다. 그런 다음 최소 배열과 각 배열을 반복하고 요소가 동일한지 비교하기 시작하며 카운터를 사용하여 해당 요소가 각 배열에 존재하고 교차 요소인지 확인합니다. 아이디어는 비교적 간단하지만 그럴 수 있습니다. 코드는 다음과 같습니다.
Html 코드 🎜>
;script> function getValues(obj){ var 값 = ""; var l = obj.options.length for (var i=0; i ~ . options(i).value; var aa = _getIntersection(ids); } Function_Getintersection (src) { var time = src .split ("_"); // 최소 그룹 var minary = null; var min = tAry[0].split(",").length; 가장 작은 길이 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 = temp; 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); }