在Node.js中克隆对象

在Node.js中克隆对象,第1张

在Node.js中克隆对象 可能性1

简洁的深层副本

var obj2 = JSON.parse(JSON.stringify(obj1));
可能性2(已弃用)

注意:
现在,Node.js文档中将该解决方案标记为不推荐使用:

从未打算在内部Node.js模块之外使用util._extend()方法。社区仍然找到并使用了它。

它已被弃用,不应在新代码中使用。Javascript通过Object.assign()具有非常相似的内置功能

原始答案

对于浅表副本,请使用Node的内置

util._extend()
功能。

var extend = require('util')._extend;var obj1 = {x: 5, y:5};var obj2 = extend({}, obj1);obj2.x = 6;console.log(obj1.x); // still logs 5

Node

_extend
函数的源代码在这里:https
:
//github.com/joyent/node/blob/master/lib/util.js

exports._extend = function(origin, add) {  // Don't do anything if add isn't an object  if (!add || typeof add !== 'object') return origin;  var keys = Object.keys(add);  var i = keys.length;  while (i--) {    origin[keys[i]] = add[keys[i]];  }  return origin;};


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5560265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存