gpt4 book ai didi

javascript - jquery/javascript - 覆盖存在的值

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:03 25 4
gpt4 key购买 nike

我有类似的东西:

...
meta: {
'orderby' : 'firstname',
'page' : 1,
'per' : 10
}
...

当我使用 ajax 发送请求时,我的部分响应包含一些元数据。所以我用新的东西覆盖它。服务器可能会发回类似这样的内容:

meta: {
'page' : 1,
'per' : 10
}

问题是它将 orderby 键覆盖为 undefined。我不想让服务器发回所有内容,如果 key 没有发回,我怎么能留下 key 的值?

最佳答案

正如您所说的,您正在使用 jQuery,您可以使用它的 extend功能:

jQuery.extend(originalMeta, returnedMeta);

这只会用实际存在的源(returnedMeta)中的属性覆盖目标(originalMeta,在上面)中的属性。 (无需将函数的结果赋值给originalMeta,就地修改。)

不依赖 jQuery 也很容易:

var name;
for (name in returnedMeta) {
if (returnedMeta.hasOwnProperty(name)) {
originalMeta[name] = returnedMeta[name];
}
}

它使用 for..in 循环遍历 returnedMeta 上的所有(可枚举的)属性,过滤掉它从其原型(prototype)继承的所有属性(它可能不会inherit any, but...),对于那些存在的值,将值复制到 originalMeta

关于javascript - jquery/javascript - 覆盖存在的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5848960/

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