const filteredOptions = _.filter(grantedValuesFinal, o => o.numberOfShareOptionAwardGranted > 0);
let filteredArray = [];
filteredOptions.forEach(function(item, i){
let existing = filteredArray.filter(function(o, i) {
const dateNew = luxon.DateTime.fromISO(o.grantDate);
const dateExsisting = luxon.DateTime.fromISO(item.grantDate);
return o.grantDate == item.grantDate;
});
if (existing.length) {
let existingIndex = filteredArray.indexOf(existing[0]);
if(item.typeOfEquity == "Shares") filteredArray[existingIndex].numberOfShareOptionAwardGrantedShares += item.numberOfShareOptionAwardGranted;
if(item.typeOfEquity == "Options") filteredArray[existingIndex].numberOfShareOptionAwardGrantedOptions += item.numberOfShareOptionAwardGranted;
} else {
let numberOfShareOptionAwardGrantedShares = 0, numberOfShareOptionAwardGrantedOptions = 0;
if(item.typeOfEquity == "Shares") numberOfShareOptionAwardGrantedShares += item.numberOfShareOptionAwardGranted;
if(item.typeOfEquity == "Options") numberOfShareOptionAwardGrantedOptions += item.numberOfShareOptionAwardGranted;
filteredArray.push({grantDate: item.grantDate, numberOfShareOptionAwardGrantedShares: numberOfShareOptionAwardGrantedShares, numberOfShareOptionAwardGrantedOptions: numberOfShareOptionAwardGrantedOptions });
}
})
The very first line of the code does not pass any value, due to which filteredOptions and array is empty. What changes has to be done ? Please help
The filteredOptions array always stayed NULL as the grantedValuesFinal was only filtering out NULL values.
I was able to work out the code by placing !=NULL and got the non-null values. Thank you all for your insights