Jeśli posiadam obiekt javascript/assoc. tablica zdefiniowana w ten sposób:Jak scalić 2 obiekty javascript, zapełniając właściwości w jednym, jeśli nie istnieją w drugim?
function somefunction(options) {
var defaults = {
prop1: 'foo',
prop2: 'bar'
};
//Do stuff here
}
i chcę użyć tego jako wartości domyślnych dla funkcji. Kiedy funkcja zostanie wywołana, chcę zapełnić zmienną options
wartościami defaults
, ale tylko wtedy, gdy nie istnieją one w options
.
Więc powiedzmy, że ten nazwano
somefunction({ prop1: 'fish' });
Jak mogę sprawić, aby to options
zostanie połączona z defaults
takie, że mogę to
{
prop1: 'fish',
prop2: 'bar'
}
Wygląda strasznie dużo pracy, aby wykonać jakąś głęboką kopię magii - jest to naprawdę konieczne ? – TML
To dobre pytanie, rzeczy na głęboką kopię mogą być przesadzone. – cgp
To nie jest kod, który musisz napisać, tak właśnie wygląda funkcja rozszerzenia, wszystko co musiałem zrobić, to opcje = $ .extend (domyślne, opcje) –