У меня есть два массива, такие как,
Массив 1 :
deletedValuesfromArray =
[
{ "property_name": "Property three", "property_type": 4, "property_required": true, "property_origin": 2 },
{ "property_name": "rstywrtre", "property_type": 3, "property_required": true, "property_origin": 1 }
]
Массив 2:
normalArray =
[
{ "property_name": "Property one", "property_type": 4, "property_required": true, "property_origin": 1 },
{ "property_name": "Property two", "property_type": 5, "property_required": true, "property_origin": 1 },
{ "property_name": "Property three", "property_type": 4, "property_required": true, "property_origin": 2 },
{ "property_name": "rstywrtre", "property_type": 3, "property_required": true, "property_origin": 1 }
]
Я бы хотел сравнить оба массива и отфильтровать массив, чтобы получить новый после удаления deletedValuesfromArray
(Массив 1).
Для чего я пробовал следующее,
let newArray = this.normalArray.filter(function (val) {
return this.deletedValuesfromArray.indexOf(val) == -1;
});
console.log(newArray);
Но это не работает ..
Ожидаемый результат:
Новый массив
[
{ "property_name": "Property one", "property_type": 4, "property_required": true, "property_origin": 1 },
{ "property_name": "Property two", "property_type": 5, "property_required": true, "property_origin": 1 }
]
Stackblitz , которые я пробовал
Значения также не будут уникальными, всегда могут иметь полную копию любого объекта.
Как сравнить и удалить удаленные значения из обычного массива и получить новый массив?