Computationally efficient way of comparing and merging like object keys
Interesting question,

there is no faster approach that I know of, in essence, your approach mimics jQuery's $.extend() source code. Except that your code does not clone parameters which might bring you trouble.

I think your code might be messed up, or you might not understand what it is doing.

This:

var template = {key1:false, key2:false, key3:false};
var cfg = {key1:true, keyTWO:"puppies", key3:false};

var cfg_obj = mapConfig(template, cfg);
console.log(cfg_obj);


is equivalent to this:

var template = {key1:false, key2:false, key3:false};
var cfg = {key1:true, keyTWO:"puppies", key3:false};

mapConfig(template, cfg);
console.log(template);


because you change the provided object itself, which probably is not right in all circumstances. I assume that is why you have configured_template in there ? 

Furthermore, it does not seem to make sense to assign false to properties that you want to discard.. It eats up memory for no good reason.

All in all, I would counter propose

function configureTemplate( template, config) {
    var result = {}, key;
    for (key in config) {
        if( key in template ){
          result[key] = config[key];
        }
    }
    return result;
}


Note that you were polluting the global namespace by not declaring key with var.

Personally, I would drop most of the curly braces:

function configureTemplate( template, config) {
    var result = {}, key;
    for (key in config)
        if( key in template )
          result[key] = config[key];
    return result;
}

var template = {key1:false, key2:false, key3:false};
var cfg = {key1:true, keyTWO:"puppies", key3:false};

var cfg_obj = configureTemplate(template, cfg);
console.log(cfg_obj);


On a final note, try not to disemvowel your variables. It makes grokking code needlessly harder.