JSFiddle - React, Tailwind, and code Playground

by Richard Ayotte

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>

JavaScript

const a = {
  id: 80480634,
  text: 'FELDMAN 5TH FL FUME HOOD LAB 8 ALARM CONTACT HVAC',
  parsedText: 'text FELDMAN|floor 5|equipment Fume Hood|equipmentType Fume Hood|room Lab 8|roomType Lab|text ALARM|contact HVAC Shop',
  priority: 0,
  alarmKey: '4857272:89:7:2342066:4148:9',
  schema: 'envision',
  databaseId: 'SUPERBLOCK',
  isAutoDispatch: false,
  work_order_configuration_id: null,
  contextualName: 'Fume Hood',
  devinst: 4857272,
  objinst: 89,
  ptdevinst: 2342066,
  ptinst: 4148,
  OBJECT_: null,
  DEVICE_: null,
  tostate: 7,
  TO_STATE_: null,
  status: 'Inactive',
  isPinned: false
}

const b = {
  id: 80480634,
  text: 'FELDMAN 5TH FL FUME HOOD LAB 8 ALARM CONTACT HVAC',
  parsedText: 'text FELDMAN|floor 5|equipment Fume Hood|equipmentType Fume Hood|room Lab 8|roomType Lab|text ALARM|contact HVAC Shop',
  priority: 0,
  alarmKey: '4857272:89:7:2342066:4148:9',
  schema: 'envision',
  databaseId: 'SUPERBLOCK',
  isAutoDispatch: false,
  work_order_configuration_id: null,
  contextualName: 'Fume Hood',
  devinst: 4857272,
  objinst: 89,
  ptdevinst: 2342066,
  ptinst: 4148,
  OBJECT_: null,
  DEVICE_: null,
  tostate: 7,
  TO_STATE_: null,
  status: 'Inactive',
  isPinned: false
}

const diff = _.reduce(a, function(result, value, key) {
    return _.isEqual(value, b[key]) ?
        result : result.concat(key);
}, []);
console.log(diff)