Dan*_*ter 11 javascript jquery
比方说,我有一个对象
var user = {
"Name": "Dan",
"Age": 27,
"Hobbies": null
};
Run Code Online (Sandbox Code Playgroud)
我想合并到下面的基础对象,以便我的用户对象将具有所有必需的属性
var base = {
"Name": null,
"Height": null,
"Age": null,
"Hobbies": [
{ "Name": "Tennis", "Location": null },
{ "Name": "Football", "Location": null },
{ "Name": "Rugby", "Location": null }
]
};
Run Code Online (Sandbox Code Playgroud)
合并到两个对象的最简单方法是使用用户对象扩展基础对象,如下所示
$.extend(true, base, user);
Run Code Online (Sandbox Code Playgroud)
这将修改基础对象
{
"Name": "Dan",
"Height": null,
"Age": 27,
"Hobbies": null
};
Run Code Online (Sandbox Code Playgroud)
我的问题是如何让extend方法不覆盖空值?例如,在这个例子中,如果用户爱好列表为空,我怎么还能获得爱好列表所以我最终得到以下内容
{
"Name": "Dan",
"Height": null,
"Age": 27,
"Hobbies": [
{ "Name": "Tennis", "Location": null },
{ "Name": "Football", "Location": null },
{ "Name": "Rugby", "Location": null }
]
};
Run Code Online (Sandbox Code Playgroud)
God*_*esZ 23
您可以使用undefined将被忽略的值jQuery.extend.
var user = { "Name": "Dan",
"Age:" 27,
"Hobbies": undefined
};
$.extend(true, base, user);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4928 次 |
| 最近记录: |