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
| const getObjectToString = (obj) => Object.keys(obj).map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
function getObjectToString(obj) { var arr = []; for (var key in obj) { key = encodeURIComponent(key); var values = obj[key]; if (values && values.constructor === Array) { var pairArr = []; for (var i = 0, len = values.length, value; i < len; i++) { value = values[i]; pairArr.push(setPairParam(key,value)) } arr = arr.concat(pairArr); } else { arr.push(setPairParam(key, values)); } } return arr.join('&'); } function setPairParam(key, value) { if (typeof value === 'undefined') return key; return key + '=' + encodeURIComponent(value === null ? '' : String(value)); }
var obj = { age: 18, name: 'url' }; getObjectToString(obj);
|