Keep objects in filter if multiple keys are undefined

for one key, you would do this

export const keepThisFilter = dataArray =>
  dataArray.filter(d => d.keepThis || typeof d.keepThis === "undefined");

but for multiple keys...

// NO, because if you have { keepThis: false }, then d.keep_this is undefined, returning true
export const keepThisFilter = dataArray =>
  dataArray.filter(
    d =>
      d.keepThis ||
      d.keep_this ||
      typeof d.keepThis === "undefined" ||
      typeof d.keep_this === "undefined"
  );

// YES
export const keepThisFilter = dataArray =>
  dataArray.filter(
    d =>
      (typeof d.keepThis !== "undefined" && d.keepThis) ||
      (typeof d.keep_this !== "undefined" && d.keep_this) ||
      (typeof d.keepThis === "undefined" && typeof d.keep_this === "undefined") // pass if neither key exists
  );