Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function flattenObject(o) {
- var key, value, append, count
- var result = []
- for (var i in o) {
- if (typeof o[i] !== 'object') {
- value = o[i]
- append = [];
- } else if (!o[i]) {
- value = "'null'"
- append = [];
- } else {
- count = getCount(o[i]);
- value = "("+ count + " item" + (count !== 1 ? "s)" : ")")
- append = flattenObject(o[i])
- }
- result[result.length] = {key:(isArray(o) ? "Item " + i : i), type:getType(o[i]), value:value}
- result = result.concat(append)
- }
- return result;
- }
- function isArray(o) {
- return Object.prototype.toString.apply(o) === '[object Array]';
- }
- function getType(o) {
- t = typeof o
- if (t === 'object') {
- if (isArray(o))
- return "Array"
- else
- return "Dictionary"
- }
- return capitalize(t)
- }
- function capitalize(s) {
- return s.substr(0,1).toUpperCase() + s.substr(1)
- }
- function getCount(s) {
- var count = 0;
- for (var i in s) {
- count++;
- }
- return count;
- }
Add Comment
Please, Sign In to add comment