odi*_*apc 10 javascript jquery
我拥有什么,我需要什么.这很简单.
默认选项(有嵌套属性):
{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
sSearch: "",
sLengthMenu: "Show _MENU_",
oPaginate: {
sFirst: "|<<",
sLast: ">>|",
sNext: ">>",
sPrevious: "<<"
}
}
}
Run Code Online (Sandbox Code Playgroud)
实际选项:
{
oLanguage: {
oPaginate: {
sNext: "MODIFIED"
}
}
}
Run Code Online (Sandbox Code Playgroud)
$ .extend的结果:
{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
oPaginate: {
sNext: "MODIFIED"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我需要的是使用实际选项正确扩展默认选项并获得以下结果(一个属性已被修改):
{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
sSearch: "",
sLengthMenu: "Show _MENU_",
oPaginate: {
sFirst: "|<<",
sLast: ">>|",
sNext: "MODIFIED"
sPrevious: "<<"
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是$ .extend函数忽略嵌套属性并仅操作第一级属性.现在我手动$ .extend每个嵌套属性,但我想这不是一个解决方案.
Jos*_*eph 42
通过传递第一个参数,您需要一个递归副本true:
var defaults = {...}
var actual = {...}
//recursively merge to a blank object
console.log($.extend(true,{}, defaults, actual))?
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4019 次 |
| 最近记录: |