У меня есть
Product: {code: string, description: string}
productsA: Product[]
productsB: Product[]
Я хочу получить productsC: Product[], который содержит все продукты productsA, у которых есть «код», отличный от кодов продуктов productsB
Пример:
productsA = [{'c1', 'des1'}, {'c2', 'des2'}, {'c3', 'des3'}]
productsB = [{'c1', 'des4'}]
I want productsC = [{'c2', 'des2'}, {'c3', 'des3'}]
Как я могу сделать?
"код" является ключом
Вы можете сделать это с помощью differenceBy
из lodash
.
import * as _ from 'lodash-es';
yourFunc() {
:
const productsC = _.differenceBy(productsA, productsB, 'code');
:
}
Я думаю, вам нужны все продукты из productsA
, кроме того, что включает productsB
?
Вот тогда.
const productA = [{code: 'c1', description: 'desc1'}, {code: 'c2', description: 'desc2'}, {code: 'c3', description: 'desc3'}];
const productB = [{code: 'c1', description: 'desc1'}];
const productC = [];
productA.forEach(prodA => {
productB.forEach(prodB => {
if (prodA.code != prodB.code) {
productC.push(prodA);
}
});
});
console.info(productC);
нет ключа для кода продукта?