• Source
    1. const checkObjectKeysAndType = (validObject, receivedObject) => {
    2. const validKeys = Object.keys(validObject);
    3. const receivedKeys = Object.keys(receivedObject);
    4.  
    5. const lenCheck = (validKeys.length === receivedKeys.length);
    6. const typeCheck = validKeys.every((value)=>{
    7. if(receivedKeys.indexOf(value) != -1 ){
    8. if( typeof(validObject[value]) != typeof(receivedObject[value])){
    9. console.log("data type not same : " + value);
    10. return false;
    11. }
    12. } else {
    13. console.log("key not present : " + value);
    14. return false;
    15. }
    16. return true;
    17. })
    18.  
    19. return lenCheck && typeCheck;
    20. };
    21.  
    22. validObject = {"a":"a", "b": 9, "c": "c"};
    23. receivedObject = {"a":"t", "b": 4, "c": "h"};
    24.  
    25. if(checkObjectKeysAndType(validObject,receivedObject)){
    26. console.log("both objects are same");
    27. } else {
    28. console.log("both object are different");
    29. }
    30.  
    31.