栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Node.js中克隆对象

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在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;};


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/568988.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号