UNPKG

phpjs

Version:

php.js offers community built php functions in javascript

40 lines (37 loc) 1.27 kB
function in_array(needle, haystack, argStrict) { // discuss at: http://phpjs.org/functions/in_array/ // original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // improved by: vlado houba // improved by: Jonas Sciangula Street (Joni2Back) // input by: Billy // bugfixed by: Brett Zamir (http://brett-zamir.me) // example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']); // returns 1: true // example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'}); // returns 2: false // example 3: in_array(1, ['1', '2', '3']); // example 3: in_array(1, ['1', '2', '3'], false); // returns 3: true // returns 3: true // example 4: in_array(1, ['1', '2', '3'], true); // returns 4: false var key = '', strict = !! argStrict; //we prevent the double check (strict && arr[key] === ndl) || (!strict && arr[key] == ndl) //in just one for, in order to improve the performance //deciding wich type of comparation will do before walk array if (strict) { for (key in haystack) { if (haystack[key] === needle) { return true; } } } else { for (key in haystack) { if (haystack[key] == needle) { return true; } } } return false; }