Actuellement, j'ai écrit ci-dessous la fonction pour filtrer les éléments en fonction du mois et retourner dans Array et j'ai utilisé ci-dessous login.Optimiser la fonction JS pour filtrer les données basées sur Mois
Quelqu'un peut-il aider est-il possible que je puisse filtrer encore plus facilement en utilisant datejs ou moment de Js en utilisant pour la boucle de manière plus efficace
Ici, je reçois la date dans le format de 2/Jan/17
et le filtrage basé sur includes
méthode
Merci d'avance!
Javascript
function getMonthlyCount() {
return yearlyExecution()
.then(function(myitems) {
monthlyDataForGraph = [];
var janFinalCount = febFinalCount = marFinalCount = aprFinalCount = mayFinalCount = junFinalCount = julFinalCount = augFinalCount = sepFinalCount = octFinalCount = novFinalCount = decFinalCount = 0;
myitems.forEach(function(items) {
releasename = items[0].cycleName;
janData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Jan/17"))
return inputs;
});
febData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Feb/17"))
return inputs;
});
marData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Mar/17"))
return inputs;
});
aprData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Apr/17"))
return inputs;
});
mayData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("May/17"))
return inputs;
});
junData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Jun/17"))
return inputs;
});
julData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Jul/17"))
return inputs;
});
augData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Aug/17"))
return inputs;
});
sepData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Sep/17"))
return inputs;
});
octData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Oct/17"))
return inputs;
});
novData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Nov/17"))
return inputs;
});
decData = $filter('filter')(items, function(inputs) {
if (inputs.executedOn.includes("Dec/17"))
return inputs;
});
janFinalCount = janFinalCount + janData.length;
febFinalCount = febFinalCount + febData.length;
marFinalCount = marFinalCount + marData.length;
aprFinalCount = aprFinalCount + aprData.length;
mayFinalCount = mayFinalCount + mayData.length;
junFinalCount = junFinalCount + junData.length;
julFinalCount = julFinalCount + julData.length;
augFinalCount = augFinalCount + augData.length;
sepFinalCount = sepFinalCount + sepData.length;
octFinalCount = octFinalCount + octData.length;
novFinalCount = novFinalCount + novData.length;
decFinalCount = decFinalCount + decData.length;
});
monthlyDataForGraph = [janFinalCount, febFinalCount, marFinalCount, aprFinalCount, mayFinalCount, junFinalCount, julFinalCount, augFinalCount, sepFinalCount, octFinalCount, novFinalCount, decFinalCount];
console.log('Monthly Data For Graph', monthlyDataForGraph);
return monthlyDataForGraph;
});
}
Vous pouvez stocker les valeurs de mois dans le tableau et itérer ceux à l'intérieur de votre filtre unique $ fonction au lieu de si condition plusieurs fois –