JavaScript ermittelt die Schnittmenge mehrerer Arrays
高洛峰Original
2016-11-25 13:23:082716Durchsuche
Im Projekt muss die Schnittmenge mehrerer Arrays ermittelt werden, daher ist dieses Beispiel nur für bestimmte Szenarien geeignet. Beispiel: A-Array var a = {1000,10001,10002,10003}; B-Array var b = {10002, 10003}; Sie müssen das Schnittpunkt-Array dieser drei Arrays erhalten. Die konkrete Idee besteht darin, zuerst das kleinste Array als A-Array zu initialisieren, und die kleinste Anzahl von Elementen ist auch die Länge des Arrays A. Dann wird jedes Array durchlaufen, um die kürzeste Länge dieser Arrays als Mindestlänge zu erhalten und erhalten Sie gleichzeitig das Array mit der kürzesten Länge. Dann iterieren Sie das minimale Array und jedes Array, vergleichen Sie die Elemente auf Gleichheit und bestimmen Sie mithilfe eines Zählers, ob das Element in jedem Array vorhanden ist und es sich um ein Schnittelement handelt. Die Idee ist relativ einfach, aber es kann Der Code lautet wie folgt:
Html-Code 🎜>
META NAME="Autor" CONTENT=""> ;script> function getValues(obj){ var Values = ""; var l = obj.options.length; for (var i=0; i var aa = _getIntersection(ids); } Function_Getintersection (src) { var time = src .split ("_"); // minimale Gruppe var minary = null; var min = tAry[0].split(",").length; die kleinste Länge minAry = tAry[0].split(","); for (var i = 1, len = tAry.length; i var temp = tAry [i].split(","); if (temp.length < min) { min = temp.length; var ret = ''; for (var i = 0, len = minAry.length; i var srcNum = parseInt(minAry[i]); var counter = 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) { counter ++; } ret += srcNum + ","; } } ret = strSlice(ret, ','); warning("交集是:" + ret); { ')) return ((str.charAt(str.length-1) == split) ? str.substring(0, str.length-1) : str); else return str; }
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn