Reputation: 6852
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
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