Javascript:从默认对象填充对象中的 undefin 属性 [英] Javascript: filling undefind properties in object from a default object

查看:34
本文介绍了Javascript:从默认对象填充对象中的 undefin 属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用来自默认对象的值将未定义的属性填充到对象中.

I am trying to fill in undefined properties into an object using values from a default object.

我基本上是想做一些像下划线的_.default"函数.

I am basically looking to do something like underscores's "_.default" function.

这是我所拥有的:

     defaults: function(anyObject){

      var argArray = Array.prototype.slice.call(arguments,1);

       for(var key in argArray){
        if(anyObject[key] == null){
            anyObject[key] = argArray[key];
          } 
        } return anyObject; 
       }  

我通过以下传递调用函数:

I call the function with the following passed:

defaults({extension : ".jpeg"}, {extension : ".gif", quality : "high"});

我希望它返回以下内容:

and I want it to return the following:

=> {extension : ".jpeg", quality : "high"}

有什么建议吗?

推荐答案

我会尝试这样的事情:

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;
}

这只会向 defaults 添加新键.

This will only add new keys to defaults.

这篇关于Javascript:从默认对象填充对象中的 undefin 属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆