Alright... I've been stuck on this for a while
I'm trying to grab the count of the each leader's(leaderDisplay) dateExit value that equals === "" and store it into an array
The output im trying to get is something like ['Albert Owens','Tina Snow','Rick Sanchez'] [2,1,2]
This is where I've gotten so far and I'm pretty sure i'm over thinking it...
const data = [
{
fieldData: {
dateExit: "",
dateHire: "06/14/2004",
leaderDisplay: "Tina Snow",
},
},
{
fieldData: {
dateExit: "",
dateHire: "06/14/2004",
leaderDisplay: "Rick Sanchez",
},
},
{
fieldData: {
dateExit: "",
dateHire: "06/14/2004",
leaderDisplay: "Albert Owens",
},
},
{
fieldData: {
dateExit: "07/14/2006",
dateHire: "06/14/2004",
leaderDisplay: "Tina Snow",
},
},
{
fieldData: {
dateExit: "",
dateHire: "06/14/2004",
leaderDisplay: "Albert Owens",
},
},
{
fieldData: {
dateExit: "07/14/2006",
dateHire: "06/14/2004",
leaderDisplay: "Rick Sanchez",
},
},
{
fieldData: {
dateExit: "",
dateHire: "06/14/2004",
leaderDisplay: "Rick Sanchez",
},
},
];
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
const allExit = data.map(function (e) {
return e.fieldData.dateExit;
});
const dateExits = allExit.filter(onlyUnique);
const allSupervisors = data.map(function (e) {
return e.fieldData.leaderDisplay;
});
const supervisors = allSupervisors.filter(onlyUnique);
let array = [];
let countArr = [];
let textColors = [];
supervisors.forEach(function (f, i) {
let count = 0;
if (f != "") {
let stat = f;
if (stat == "") {
countArr.push(count);
}
let obj = {
name: stat,
};
let keysArr = [];
let statArr = [];
supervisors.forEach(function (e, i) {
let sup = e;
let list = data
.filter(function (e) {
return (
e.fieldData.leaderDisplay === sup &&
e.fieldData.dateExit === ""
);
})
.map(function (e) {
return e.fieldData.ID;
});
statArr.push(list.length);
keysArr.push(list);
});
if (Array.isArray(statArr) && statArr.length > 0) {
obj.data = statArr;
obj.keys = keysArr;
}
obj.keys;
array.push(obj);
return array;
}
return array;
});
const categories = supervisors;
const series = array;