JSFiddle - React, Tailwind, and code Playground
by gabriela b
JavaScript
class BaseOption {
commercialName: string;
constructor(commercialName: string = '') {
this.commercialName = commercialName;
}
}
class BaseProduct extends BaseOption {
date: string;
origin: string;
constructor(date: string = '', commercialName: string = '', origin: string = '') {
super(commercialName);
this.date = date;
this.origin = origin;
}
}
class BaseProductHighlighted extends BaseProduct {
iconHighlighted: boolean;
inPack: boolean;
constructor(iconHighlighted?: boolean, inPack?: boolean, date?: string, commercialName?: string);
}
class BaseProductOptions extends BaseProductHighlighted {
options: Array<BaseProduct>;
constructor(options?: Array<BaseProduct>, iconHighlighted?: boolean, date?: string, commercialName?: string);
}
class Address {
public filterFls(){
var address = {
"linkedProducts": {
"FLS" : [
{
"productDescription": "inPack - a",
"inPack" : true,
"plc": "FI"
}
]
}
}
let inPackFLS = address.linkedProducts.FLS.filter(p => p.inPack);
let outPackFLS = address.linkedProducts.FLS.filter(p => !p.inPack);
var concateneted =inPackFLS.concat(outPackFLS)
.filter(prod => prod.plc === 'FI')
.map(internet => new BaseProductOptions(
internet.activeOptions ? internet.activeOptions.map(option => new BaseProduct(option.activateDate, option.name, '')) : new Array<BaseProduct>(),
true,
inPackFLS.indexOf(internet) !== -1,
internet.activationDate,
internet.productDescription));
console.log(concateneted);
}
}
var address = new Address();
address.filterFls();