Underscore.jsextend
関数を取得する方法はありますか?
ソースオブジェクトのすべてのプロパティをデスティネーションオブジェクトにコピーし、デスティネーションオブジェクトを返します。これは順序どおりであるため、最後のソースは前の引数の同じ名前のプロパティをオーバーライドします。
...再帰的に作業するには?
実際、のquery
プロパティは、で定義されcreditOperation
たプロパティを完全にオーバーライドします。query
baseOperation
var url = require('url')
, _ = require('underscore'),
, baseOperation = {
host: 'gateway.skebby.it',
pathname: 'api/send/smseasy/advanced/http.php',
protocol: 'https',
query: {
'username': 'foo',
'password': 'bar',
}
};
var creditOperation = _.extend(baseOperation, {
query: {
'method': 'baz'
}
});
console.log(url.format(creditOperation));
これを入手したいcreditOperation
:
{
host: 'gateway.skebby.it',
pathname: 'api/send/smseasy/advanced/http.php',
protocol: 'https',
query: {
'username': 'foo',
'password': 'bar',
'method': 'baz'
}
}