JSFiddle - React, Tailwind, and code Playground
by nevkatz
JavaScript
function roughSizeOfObject( object ) {
var objectList = [];
var stack = [ object ];
var bytes = 0;
while ( stack.length ) {
var value = stack.pop();
if ( typeof value === 'boolean' ) {
bytes += 4;
}
else if ( typeof value === 'string' ) {
bytes += value.length * 2;
}
else if ( typeof value === 'number' ) {
bytes += 8;
}
else if
(
typeof value === 'object'
&& objectList.indexOf( value ) === -1
)
{
objectList.push( value );
for( var i in value ) {
stack.push( value[ i ] );
}
}
}
return bytes;
}
let n = {
x:1,
};
let p = {
x:1,
y:2,
z:3
};
let o = {
x:1,
y:2
};
let ns = roughSizeOfObject(n);
let os = roughSizeOfObject(o);
let ps = roughSizeOfObject(p);
console.log('object n size: ' + ns);
console.log('object o size: ' + os);
console.log('object p size: ' + ps);