79465031

Date: 2025-02-24 23:21:13
Score: 1
Natty:
Report link
function flatObject(obj, prefix = '') {
    let result = {};

    Object.entries(obj).map(([key, value]) => {
        let recursionResponse = {};
        const nextPrefix = prefix ? `${prefix}.${key}` : key;

        if (value && typeof value === 'object') {
            if (Array.isArray(value)) {
                recursionResponse = flatObject(Object.assign({}, value), nextPrefix);
            }

            if (value instanceof Set) {
                recursionResponse = flatObject(Object.assign({}, Array.from(value)), nextPrefix);
            }
            
            if (value instanceof Map) { 
                recursionResponse = flatObject(Object.fromEntries(Array.from(value)), nextPrefix);
            }
            
            if (value.constructor === Object) {
                recursionResponse = flatObject(value, nextPrefix);
            }

            result = Object.assign(result, recursionResponse);

        } else {
            result[nextPrefix] = value;
        }
    });

    return result;
}
Reasons:
  • RegEx Blacklisted phrase (1.5): fix ?
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Andrii Halychanivskyi