Miomir Dancevic
Miomir Dancevic

Reputation: 6852

Removing value from object in Angular 6

I have some object in Angular like this

documents = [
{name: "sto.jpg", selected: false}
{name: "stosecen.jpg", selected: false}
{name: "red.png", selected: false}
{name: "maxresdefault.jpg", selected: false}
];

And some array like this

documentsForDelete = ["sto.jpg", "stosecen.jpg"];

I need to remove values from documents from documentsForDelete

This is what i have tried and no luck

  remove(array, element) {
    const index = array.indexOf(element);
    array.splice(index, 1);
  }

remove(documents.name, documentsForDelete);

Upvotes: 0

Views: 3711

Answers (1)

Mohammad Usman
Mohammad Usman

Reputation: 39382

You can get the resultant array using .filter():

let data = [
  {name: "sto.jpg", selected: false},
  {name: "stosecen.jpg", selected: false},
  {name: "red.png", selected: false},
  {name: "maxresdefault.jpg", selected: false}
];

let array = ["sto.jpg", "stosecen.jpg"];

let result = data.filter(({ name }) => !array.includes(name));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

Upvotes: 7

Related Questions