0

可能重复:
如何动态合并两个 JavaScript 对象的属性?

我正在尝试在 jQuery 中合并两个对象。

第一个对象:

var rules1 = {  
    firstname: { required: true, minlength: 3 },
    lastname: { required: true, minlength: 3 }
};

第二个对象:

var rules2 = {  
    test1: { required: true, minlength: 3 },
    test2: { required: true, minlength: 3 }
};

我希望结果如下所示:

var merged = {  
    firstname: { required: true, minlength: 3 },
    lastname: { required: true, minlength: 3 },
    test1: { required: true, minlength: 3 },
    test2: { required: true, minlength: 3 }
};

我还需要知道 PHP 数组的外观如何rules1,因为该对象将使用json_encode函数进行转换。

4

1 回答 1

0

您可以这样做合并它们:

var merged =  $.extend(rules1, rules2);

如果你想从 php 构建它,你的对象将是:

$rules = new stdClass;
$rules->test1 = new stdClass;
$rules->test1->required = true;
....

就个人而言,在 PHP 中我更喜欢使用数组。然后可以通过使用一些自定义函数将它们递归地转换为stdClass。您可以在此处找到其中之一:

http://www.richardcastera.com/blog/php-convert-array-to-object-with-stdclass

于 2012-10-12T08:33:01.327 回答