gpt4 book ai didi

javascript - 是否有正确的方法来 $.extend jQuery 中的嵌套属性?

转载 作者:可可西里 更新时间:2023-11-01 02:28:38 26 4
gpt4 key购买 nike

我有什么,我需要什么。这很容易。

默认选项(有嵌套属性):

{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
sSearch: "",
sLengthMenu: "Show _MENU_",
oPaginate: {
sFirst: "|<<",
sLast: ">>|",
sNext: ">>",
sPrevious: "<<"
}
}
}

实际选项:

{
oLanguage: {
oPaginate: {
sNext: "MODIFIED"
}
}
}

$.extend 的结果:

{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
oPaginate: {
sNext: "MODIFIED"
}
}
}

我需要的是使用实际选项正确扩展默认选项并获得以下结果(一个属性已被修改):

{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
sSearch: "",
sLengthMenu: "Show _MENU_",
oPaginate: {
sFirst: "|<<",
sLast: ">>|",
sNext: "MODIFIED"
sPrevious: "<<"
}
}
}

问题是 $.extend 函数忽略嵌套属性,只操作一级属性。现在我已经手动 $.extend 每个嵌套属性,但我想这不是解决方案。

最佳答案

你需要a recursive copy通过传递 true 作为第一个参数:

var defaults = {...}
var actual = {...}

//recursively merge to a blank object
console.log($.extend(true,{}, defaults, actual))​

关于javascript - 是否有正确的方法来 $.extend jQuery 中的嵌套属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10892222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com