javascript - 使用 jquery $.extend() 时忽略属性?

标签 javascript jquery

是否有一种有效的方法来克隆一个对象,同时保留指定的属性?理想情况下不重写 $.extend 函数?

var object = {
  "foo": "bar"
  , "bim": Array [1000]
};

// extend the object except for the bim property
var clone = $.extend({}, object, "bim");
// = { "foo":"bar" }

我的目标是通过不复制我不会使用的东西来节省资源。

最佳答案

jQuery.extend采用无限数量的参数,因此不可能在不破坏功能的情况下重写它以适应您请求的格式。

但是,您可以使用 delete 轻松地在扩展后删除该属性。运算符(operator):

var object = {
    "foo": "bar"
  , "bim": "baz"
};

// extend the object except for the bim property
var clone = $.extend({}, object);
delete clone.bim;
// = { "foo":"bar" }

关于javascript - 使用 jquery $.extend() 时忽略属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878983/

相关文章:

javascript - 我需要用该标签java脚本中的内容替换字符串中的<mark>标签

javascript - 未捕获的语法错误 : Invalid or unexpected token when adding parameter to a javascript method in jSTL

javascript - 使用行 View 的主干 TableView - 如何构建?

jquery - 几乎固定的背景图像(滚动 n 像素,然后固定)是否可能?

javascript - 如何通过文本值隐藏选择的选项?

javascript - 如何将加载的 javascript 和 css 应用到 .load() 内容?

javascript - chrome 扩展中 background.js 的用途是什么?

javascript - Node ffi 指向结构体的指针

javascript - Nest 无法解析 RestController 的依赖关系

jquery - 如何使用 jQuery 动态启用/禁用链接?