Tips and tricks

Useful Javascript Functions

order keys of object

useful for normalising objects for comparing

function sortObjectKeys(obj, keyOrder) {

// Define the desired key order
var keyOrder = [
    // order from first to last key
];
    
    const ordered = {};

    // Add keys in predefined order
    keyOrder.forEach(key => {
        if (obj.hasOwnProperty(key)) {
            ordered[key] = obj[key];
        }
    });

    // Add any remaining keys not specified in keyOrder at the end (sorted alphabetically)
    Object.keys(obj).sort().forEach(key => {
        if (!ordered.hasOwnProperty(key)) {
            ordered[key] = obj[key];
        }
    });

    return ordered;
}

or alphabetically

// Function to sort an object's keys alphabetically
function sortObjectKeysAlphabetically(obj) {
    const ordered = {};

    // Sort keys alphabetically and populate the new object
    Object.keys(obj).sort().forEach(key => {
        ordered[key] = obj[key];
    });

    return ordered;
}
{"type":"main_options","images_arr":"'#ffffff'","enable_ajax":"off","soundcloud_apikey":"","bg_isparallax":"off","bg_slideshow_time":"0","bg_transition":"slidedown","site_url":"https:\/\/digitalzoomstudio.net","theme_url":"https:\/\/digitalzoomstudio.net\/wp-content\/themes\/qucreative\/","blur_ammount":"26","width_column":"50","width_section_bg":"","width_gap":"30","border_width":"0","border_color":"#ffffff","translate_cancel_comment":"Cancel reply","translate_leave_a_comment":"Leave a comment","translate_leave_a_comment_to":"Leave a comment to","is_customize_preview":"off","width_blur_margin":"30","gallery_w_thumbs_autoplay_videos":"off","content_enviroment_opacity":"30","menu_enviroment_opacity":"70","base_url":"https:\/\/digitalzoomstudio.net"}
{"type":"darkfull"}