function sortObject(obj, arraySorter) { if (!obj) return obj; if(typeof obj !== 'object') return obj if (Array.isArray(obj)) { if (arraySorter) { obj.sort(arraySorter); } for (var i = 0; i < obj.length; i++) { obj[i] = sortObject(obj[i], arraySorter); } return obj; } var temp = {}; var keys = []; for(var key in obj) keys.push(key); keys.sort(); for(var index in keys) temp[keys[index]] = sortObject(obj[keys[index]], arraySorter); return temp; } function sortedStringify(obj, arraySorter) { var temp = angular.copy(obj); temp = sortObject(temp, arraySorter); return JSON.stringify(temp); } "sortedStringify(doc, (i1, i2) => i1.id - i2.id | i1.kod - i2.kod | i1.name - i2.name | i1.namn - i2.namn | i1 - i2);"