0

i have array of objects and one object, here i need to compare array of objects with the object key , if object key matches with array of object param, we need to retain that and remove the objects whose key doesnt matches with array param.

data:

array1=[{displayName: 'Chase Id', param: 'chaseId', icon: 'fa fa-sort'},
{displayName: 'Last Modified By', param: 'lastModifiedBy', icon: 'fa fa-sort'},
{displayName: 'Last Modified Date', param: 'lastModifiedDate', icon: 'fa fa-sort'},
 {displayName: 'Imported Chase Id', param: 'importedChaseId', icon: 'fa fa-sort'},
 {displayName: 'Chase Status Name', param: 'chaseStatusName', icon: 'fa fa-sort'},
{displayName: 'Pend Reason', param: 'pendReason', icon: 'fa fa-sort'},
{displayName: 'Active', param: 'active', icon: 'fa fa-sort'},
{displayName: 'Last Contacted Date', param: 'lastContactedDate', icon: 'fa fa-sort'},
 {displayName: 'Ready To Review Date', param: 'readyToReviewDate', icon: 'fa fa-sort'},
 {displayName: 'Scheduled Date', param: 'scheduledDate', icon: 'fa fa-sort'},
 {displayName: 'Release Pend To Client', param: 'releasePendToClient', icon: 'fa fa-sort'}]



obj ={
chaseId: 419,
chaseStatusName: "Scheduled",
id: 42,
importedChaseId: "123478",
lastModifiedBy: "adminuser",
lastModifiedDate: "2022-08-12T12:43:17.792023",
pendReason: null,
type: "CHASE_STATUS"
}

2 Answers 2

3
const keys = Object.keys(obj);     
array1.filter((item) => keys.includes(item.param));

Something like that?

Sign up to request clarification or add additional context in comments.

1 Comment

shouldn't it be const keys = Object.keys(obj); array1.filter((item) => keys.includes(item.param));
2

const array1 = [{
    displayName: 'Chase Id',
    param: 'chaseId',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Last Modified By',
    param: 'lastModifiedBy',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Last Modified Date',
    param: 'lastModifiedDate',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Imported Chase Id',
    param: 'importedChaseId',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Chase Status Name',
    param: 'chaseStatusName',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Pend Reason',
    param: 'pendReason',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Active',
    param: 'active',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Last Contacted Date',
    param: 'lastContactedDate',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Ready To Review Date',
    param: 'readyToReviewDate',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Scheduled Date',
    param: 'scheduledDate',
    icon: 'fa fa-sort'
  },
  {
    displayName: 'Release Pend To Client',
    param: 'releasePendToClient',
    icon: 'fa fa-sort'
  }
]

const obj = {
  chaseId: 419,
  chaseStatusName: "Scheduled",
  id: 42,
  importedChaseId: "123478",
  lastModifiedBy: "adminuser",
  lastModifiedDate: "2022-08-12T12:43:17.792023",
  pendReason: null,
  type: "CHASE_STATUS"
}

console.log(array1.filter(x => {
  let output = false;
  for (let key in obj) {
    if (!output) {
      output = !!(key === x.param);
    }
  }
  return output;
}));

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.