我有JSON个这样的

var object1 = {name: "John"};
var object2 = {location: "San Jose"};

它们不是筑巢之类的.基本上是不同的领域.我需要把它们合并成一个JSON分制的node.js,就像这样:

{name: "John", location: "San Jose"}

我能用jQuery就行了.以下是浏览器中的一个工作示例:

http://jsfiddle.net/qhoc/agp54/

但是如果我在node.js中执行此操作,我不想加载jQuery(这有点过度使用,而且node.js' jQuery在我的Windows机器上不能工作).

So is there a simple way to do things similar to $.extend() without jQuery?

推荐答案

正常循环?

function extend(target) {
    var sources = [].slice.call(arguments, 1);
    sources.forEach(function (source) {
        for (var prop in source) {
            target[prop] = source[prop];
        }
    });
    return target;
}

var object3 = extend({}, object1, object2);

That's a basic starting point. You may want to add things like a hasOwnProperty check, or add some logic to handle the case where multiple source objects have a property with the same identifier.

这是working example美元.

Side note: what you are referring to as "JSON" are actually normal JavaScript objects. JSON is simply a text format that shares some syntax with JavaScript.

Jquery相关问答推荐

:eq Jquery,我似乎无法显示第一个之后的元素

如何使用 aria-expanded="true" 更改 CSS 属性

禁用提交按钮,直到所有字段都有值

自动完成时触发的任何事件?

jQuery 的元素或类 LIKE Select 器?

如何滚动到AngularJS中的页面顶部?

使用 JSONP 时如何捕获 jQuery $.getJSON(或数据类型设置为jsonp的 $.ajax)错误?

为什么 jquery fadeIn() 不能与 .html() 一起使用?

如何使用给定的 url 判断图像是否存在?

延迟后运行功能

Jquery .show() 不显示隐藏可见性的 div

datatable jquery - 表头宽度与正文宽度不对齐

如何使用 Twitter Bootstrap 自动关闭alert

在Javascript中判断isEmpty?

数据表日期排序dd/mm/yyyy问题

如何重新加载/刷新 jQuery 数据表?

AngularJS:使用 jQuery 更改时,ng-model 绑定不更新

如何使用 bootstrap 中的 selectpicker 插件在 Select 时设置选定值

Jquery Select 器输入[type=text]')

使用 jQuery/Javascript 防止任何形式的页面刷新