2012-03-03 21 views
2

jQueryの拡張機能には、json設定ファイルを作成するときに使用する再帰拡張のオプションがあります。アンダースコアにはextend functionがありますが、再帰については言及していません。これは再帰的に拡張されないということですが、プロジェクトに実装して時間を浪費する前に、ここで質問したいと思いました。アンダースコアの拡張機能は再帰的に拡張されますか(またはオプションがありますか)?

+1

可能な重複?](http://stackoverflow.com/questions/14843815/recursive-deep-extend-assign-in-underscore-js) – dskrvk

+0

@dskrvk待ってください...私の質問は一年近く古いですか? – Hubro

+0

それはありますが、もう一つはより良い/より良い答えとより多くの票を持っています。 – dskrvk

答えて

1

あなたの仮定は正しい、アンダースコアのextendは再帰的には拡張しません。 implementation is rather simple

_.extend = function(obj) { 
    each(slice.call(arguments, 1), function(source) { 
    for (var prop in source) { 
     obj[prop] = source[prop]; 
    } 
    }); 
    return obj; 
}; 

あなたのための最も興味深い部分はforループ、簡単な非再帰的な割り当ての内側に何である:深いUnderscore.jsに割り当て/拡張/ [再帰の

obj[prop] = source[prop]; 
+0

失礼ですが、ありがとうございます – Hubro

+0

@コードミーキー:jQueryをあまりにも苦労せずに借りることができますが、 '$ .extend'はかなり分離され、簡単に抽出できると思います。 –

+0

すでに作業中です:-) – Hubro

関連する問題