const obj = { a: '1232', b: 1234, c: false, d: { test: '123', user: 'info', }, e: ['123', 'test'],};const objectSize = (object) => { const keys = Object.keys(object); let bytes = 0; for (let i = 0; i < keys.length; i++) { const key = keys[i]; bytes += computerBytes(key); bytes += computerBytes(object[key]); } return bytes;};function computerBytes(object) { const objectType = typeof object; switch (objectType) { case 'string': return object.length * 2; case 'boolean': return 4; case 'number': return 8; case 'object': if (object === 'null') return 0; if (Array.isArray(object)) { // 计算数组的字节 return object.map(computerBytes).reduce((prev, next) => prev + next, 0); } else { // 计算对象的字节 return objectSize(object); } default: return 0; }}