Compare two objects properties in JS

后端 未结 5 1866
面向向阳花
面向向阳花 2021-01-21 13:56

I need to compare two objects, and find out what properties are missing. The objects are fairly big, with several levels.

I will give short example of the type of object

5条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-01-21 14:42

    I have just made a quick example here, not sure exactly how you want to apply this, but I have added the missing items to an array, which is logging it.

    Obj1 should be your standard comparison object, obj2 the one received from request.

    var obj1 = {};
    obj1.test1 = 0;
    obj1.test2 = 0;
    obj1.test2222 = 0;
    obj1.testLoremIpsum = 0;
    obj1.lalala = 0;
    
    var obj2 = {};
    obj2.test1 = 0;
    obj2.test25 = 0;
    obj2.lalala1 = 0;
    
    var k , i = 0;
    var missingProps = [];
    
    for( i in obj1 )
    {
        var isFound = false;
        for( k in obj2) if( i == k ) isFound = true;
        if(!isFound) missingProps.push( i );
    }
    console.log(missingProps);
    

提交回复
热议问题