1
|
{"version":3,"sources":["../../../src/php/array/array_intersect.js"],"names":["module","exports","array_intersect","arr1","retArr","argl","arguments","length","arglm1","k1","arr","i","k","arr1keys","arrs"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,eAAT,CAA0BC,IAA1B,EAAgC;AAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,SAAS,EAAb;AACA,MAAIC,OAAOC,UAAUC,MAArB;AACA,MAAIC,SAASH,OAAO,CAApB;AACA,MAAII,KAAK,EAAT;AACA,MAAIC,MAAM,EAAV;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,IAAI,EAAR;;AAEAC,YAAU,KAAKJ,EAAL,IAAWN,IAAX,EAAiB;AAAE;AAC3BW,UAAM,KAAKH,IAAI,CAAT,EAAYA,IAAIN,IAAhB,EAAsBM,GAAtB,EAA2B;AAAE;AACjCD,YAAMJ,UAAUK,CAAV,CAAN;AACA,WAAKC,CAAL,IAAUF,GAAV,EAAe;AACb,YAAIA,IAAIE,CAAJ,MAAWT,KAAKM,EAAL,CAAf,EAAyB;AACvB,cAAIE,MAAMH,MAAV,EAAkB;AAChBJ,mBAAOK,EAAP,IAAaN,KAAKM,EAAL,CAAb;AACD;AACD;AACA;AACA,mBAASK,IAAT,CANuB,CAMV;AACd;AACF;AACD;AACA,eAASD,QAAT,CAb+B,CAad;AAClB;AACF;;AAED,SAAOT,MAAP;AACD,CAtCD","file":"array_intersect.js","sourcesContent":["module.exports = function array_intersect (arr1) { // eslint-disable-line camelcase\n // discuss at: http://locutus.io/php/array_intersect/\n // original by: Brett Zamir (http://brett-zamir.me)\n // note 1: These only output associative arrays (would need to be\n // note 1: all numeric and counting from zero to be numeric)\n // example 1: var $array1 = {'a' : 'green', 0:'red', 1: 'blue'}\n // example 1: var $array2 = {'b' : 'green', 0:'yellow', 1:'red'}\n // example 1: var $array3 = ['green', 'red']\n // example 1: var $result = array_intersect($array1, $array2, $array3)\n // returns 1: {0: 'red', a: 'green'}\n\n var retArr = {}\n var argl = arguments.length\n var arglm1 = argl - 1\n var k1 = ''\n var arr = {}\n var i = 0\n var k = ''\n\n arr1keys: for (k1 in arr1) { // eslint-disable-line no-labels\n arrs: for (i = 1; i < argl; i++) { // eslint-disable-line no-labels\n arr = arguments[i]\n for (k in arr) {\n if (arr[k] === arr1[k1]) {\n if (i === arglm1) {\n retArr[k1] = arr1[k1]\n }\n // If the innermost loop always leads at least once to an equal value,\n // continue the loop until done\n continue arrs// eslint-disable-line no-labels\n }\n }\n // If it reaches here, it wasn't found in at least one array, so try next value\n continue arr1keys// eslint-disable-line no-labels\n }\n }\n\n return retArr\n}\n"]}
|