Merge کردن دو Object در Java Script

ارسال شده توسط: موسی بصیرت نیا تاریخ انتشار : 9/6/2016 12:00:00 AM 0 دیدگاه
هولایتی | آموزش ویدئویی فارسی

Merge کردن دو Object در Java Script

در صورتی که بخواهیم دو Object از نوع jsonی را با هم ادغام کنیم. می توانیم از این تابع کمک بگیریم.

فرض کنیم دو object به صورت زیر داشته باشیم.

var obj1 = [{
    //app start scripts [vital scripts]
    //more info:
    //this is to say these files must be include for using in any page.
    'angular': '../../Scripts/Libs/UnDefinitelyTyped/angular.min',
    'angular-route': '../../Scripts/Libs/UnDefinitelyTyped/angular-route',
    'angularAMD': '../../Scripts/Libs/UnDefinitelyTyped/angularAMD.min',
    'appFilePath': 'app',
    'GenericListAliasName': '../app/general/list/GenericList',
    'KeyValuePairAliasName': '../app/general/list/KeyValuePair',
    'BaseRouteAliasName': '../app/routing/BaseRoute',
    'GlobalRouteConfigAliasName': '../app/routing/GlobalRouteConfig',
    'RouteProviderAliasName': '../app/routing/RouteProvider',

var obj2 = [{

    //app routes scripts
    //each domain has it's specific route setting.
    //more info:
    //whenever you create a domain you have to define a route Typescript file and address it here.
    'CityRoute': '../app/imas/_common/City/City.Route',
    'MessageReceivedRoute': '../app/imas/EntranceExit/MessageReceived/MessageReceived.Route',


به کمک تابع زیر:

function MergeRecursive(obj1, obj2) {

    for (var p in obj2) {
        try {
            if (obj2[p].constructor == Object) {
                obj1[p] = MergeRecursive(obj1[p], obj2[p]);

            } else {
                obj1[p] = obj2[p];


        } catch (e) {
            obj1[p] = obj2[p];


    return obj1;

var result = MergeRecursive(obj1, obj2);

در نهایت متغیر Result جمع دو object قبلی است.