Skip to content Skip to sidebar Skip to footer

Javascript: Filling Undefind Properties In Object From A Default Object

I am trying to fill in undefined properties into an object using values from a default object. I am basically looking to do something like underscores's '_.default' function. Her

Solution 1:

I'd try something like this:

defaults: function(defaults) {
    var args = Array.prototype.slice.call(arguments, 1);

    for (var i = 0; i < args.length; i++) {
        var arg = args[i];

        for (var key in arg) {
            if (!(key in defaults)) {
                defaults[key] = arg[key];
            }
        }
    }

    return defaults;
}

This will only add new keys to defaults.

Solution 2:

Try like this:

defaults: function(obj, def) {
  Object.keys(def).forEach(function(key) {
    obj[key] = obj[key] || def[key]; 
  });
  return obj;
}

Post a Comment for "Javascript: Filling Undefind Properties In Object From A Default Object"