Say for example I have an object of
var user = {
"Name": "Dan",
"Age": 27,
"Hobbies": null
};
which I would like to merge onto the following base object so that my user object will have all the required properties
var base = {
"Name": null,
"Height": null,
"Age": null,
"Hobbies": [
{ "Name": "Tennis", "Location": null },
{ "Name": "Football", "Location": null },
{ "Name": "Rugby", "Location": null }
]
};
The easiest way to merge to the two objects would be to extend the base object with the user object as follows
$.extend(true, base, user);
which would modify the base object to be
{
"Name": "Dan",
"Height": null,
"Age": 27,
"Hobbies": null
};
My question would be how can I get the extend method to not override null values? For example, in this instance, how can I still obtain a list of hobbies if the users hobby list is null so I end up with the following
{
"Name": "Dan",
"Height": null,
"Age": 27,
"Hobbies": [
{ "Name": "Tennis", "Location": null },
{ "Name": "Football", "Location": null },
{ "Name": "Rugby", "Location": null }
]
};
You may use undefined
as value which will be ignored by jQuery.extend
.
var user = { "Name": "Dan",
"Age:" 27,
"Hobbies": undefined
};
$.extend(true, base, user);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.