【问题标题】:Update values from one object to another in node JS [duplicate]在节点JS中将值从一个对象更新到另一个对象[重复]
【发布时间】:2013-09-20 14:02:41
【问题描述】:

我有两个 JSON 对象,如下所示。

var j1 = {name: 'Varun', age: 24};
var j2 = {code: 'NodeJS', alter: 'C++'}

我需要用 j2 更新 JSON j1。

期望的输出

 {name: 'Varun', age: 24, code: 'NodeJS', alter: 'C++'};

NodeJS 中是否有任何内置函数来执行此操作,而不是编写我们自己的代码。

感谢和问候,

瓦伦

【问题讨论】:

标签: javascript node.js object properties key


【解决方案1】:

简单的for循环

for (var key in j2) { j1[key] = j2[key]; }

演示:http://jsfiddle.net/tymeJV/kthVf/

【讨论】:

    【解决方案2】:

    是的,你可以实现自己的继承功能:

    function inherits(base, extension)
                {
                    for (var property in base)
                    {
                        try
                        {
                            extension[property] = base[property];
                        }
                        catch(warning)
                        {
                        }
                    }
                };
    

    然后

    inherits(j2,j1)
    console.log(j1)
    // Object {name: "Varun", age: 24, code: "NodeJS", alter: "C++"}
    

    【讨论】:

    • 我喜欢你的回答,因为你正在使用一个函数。我真正不喜欢的是您没有检查该属性是否真的由该对象拥有......并且您可能应该返回一个新对象。
    猜你喜欢
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多