如何在 CoffeeScript 中克隆/复制对象的实例
How do I clone/copy an instance of an object in CoffeeScript?
相当
直截了当的问题,但谷歌搜索还没有发现任何东西。
如何在 Coffeescript 中复制/克隆/复制对象的实例?我总是可以创建一个clone()
方法,该方法返回一个带有复制值的新实例,但这似乎是一种容易出错的方法。
CoffeeScript 是否提供了更简单的解决方案?
这可能有效。
clone = (obj) ->
return obj if obj is null or typeof (obj) isnt "object"
temp = new obj.constructor()
for key of obj
temp[key] = clone(obj[key])
temp
采用自:在 JavaScript 中深度克隆对象的最有效方法是什么?
感谢 Larry Battle 的提示:
John Resig使用jQuery.extend的解决方案非常有效!
// Shallow copy
newObject = $.extend({}, oldObject);
// Deep copy
newObject = $.extend(true, {}, oldObject);
更多信息可以在 jQuery 文档中找到。
摘自 The CoffeeScript Cookbook:
http://coffeescriptcookbook.com/chapters/classes_and_objects/cloning
下划线.js还有一个浅克隆功能:
http://underscorejs.org/#clone
相关文章:
- 何时需要使用Object.assign()方法来复制对象的实例
- lodash:深度复制对象,但不是所有属性
- 复制对象,然后更新 JSON 对象中的值
- 如何使用 jquery 按值复制对象
- 如何在 CoffeeScript 中克隆/复制对象的实例
- 为什么 jQuery 扩展深拷贝不递归复制对象
- 使用 jQuery 深层复制对象数组属性值
- 由 Object.Assign() 函数生成的复制对象具有副作用
- 复制对象后删除对象属性时出现奇怪的行为
- angular.copy无法复制对象
- 在JavaScript中复制对象属性
- Javascript:如何复制对象并保持其原型链
- 如何在另一个对象中复制对象属性
- 如何在React中复制对象之间的嵌套状态
- 如何访问或复制对象的字符串值
- 通过引用复制对象是否有实际用途
- 如何在不调用构造函数的情况下复制对象及其原型链?
- 如何在javascript中深度复制对象作为对象而不是数组
- 复制对象的属性,而不必重复所有变量名
- VueJs如何从v-repeat复制对象