1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
function array_keys (input, search_value, argStrict) { // http://jsphp.co/jsphp/fn/view/array_keys // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + input by: Brett Zamir (http://brett-zamir.me) // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: jd // + improved by: Brett Zamir (http://brett-zamir.me) // + input by: P // + bugfixed by: Brett Zamir (http://brett-zamir.me) // * example 1: array_keys( {firstname: 'Kevin', surname: 'van Zonneveld'} ); // * returns 1: {0: 'firstname', 1: 'surname'} var search = typeof search_value !== 'undefined', tmp_arr = [], strict = !!argStrict, include = true, key = ''; if (input && typeof input === 'object' && input.change_key_case) { // Duck-type check for our own array()-created PHPJS_Array return input.keys(search_value, argStrict); } for (key in input) { if (input.hasOwnProperty(key)) { include = true; if (search) { if (strict && input[key] !== search_value) { include = false; } else if (input[key] != search_value) { include = false; } } if (include) { tmp_arr[tmp_arr.length] = key; } } } return tmp_arr; }
There are no comments yet, be the first!