J'ai fait un code pour retourner un JSON, exemple de ci-dessous:
53-34-98:0.0045, 98-11-00:0.09856, 44-22-88:0.09875, 22-98-90:0.3245
4 Réponses :
Vous pouvez d'abord diviser la chaîne contenant vos données ( p> queryResult.final_matrix [index] code>) pour obtenir chaque pièce séparément, puis, pour chaque pièce, diviser à nouveau à l'aide de
":" code> et appliquer des mathématiques (multiplier par 100) pour obtenir le pourcentage:
let input = "53-34-98:0.0045, 98-11-00:0.09856, 44-22-88:0.09875, 22-98-90:0.3245";
let times = input.split(", ");
const result = [];
times.forEach((elem) =>
{
const tempArr = elem.split(":");
result.push(tempArr[0] + ":" + (Math.round((tempArr[1] * 100) * 100) / 100) + "%");
});
let finalResult = result.join(", ");
console.log(finalResult);
Vous pouvez boucler, diviser selon les cordes, réduisant ainsi la gamme de jetons (celles séparées par virgule p> , code>) et enfin reconstruire les jetons avec les valeurs de pourcentage transformées.
.as-console-wrapper { max-height: 100% !important; top: 0; }
Voici la conversion d'objet à l'aide de chaîne p> divisée code>,
joindre code> méthodes.
const convert = item => {
const labels = item.labels.map(label => {
if (label.value.includes("Idea")) {
return {
...label,
value: label.value
.split(",")
.map(val => {
const strs = val.split(":");
const last = strs.pop();
strs.push(`${Math.round(Number(last) * 100 * 100) / 100}%`);
return strs.join(":");
})
.join(",")
};
} else {
return { ...label };
}
});
return {
...item,
labels
};
};
const arr = [
{
id: "12345",
header:
'<a class="card-link" href="http://www.google.com" target="_blank"> 12345</a>- solved-1',
title: "Training Summary Report",
description: "",
link: "",
labels: [
{
filter: "type",
value: "course 1"
},
{
filter: "Subject",
value: "Sub. 1239"
},
{
filter: "Idea",
value: "Idea . 53"
}
]
},
{
id: "12345",
header:
'<a class="card-link" href="http://www.google.com" target="_blank"> 12345</a>- solved-1',
title: "Training Summary Report",
description: "",
link: "",
labels: [
{
filter: "type",
value: "course 1"
},
{
filter: "Subject",
value: "Sub. 1239"
},
{
filter: "Idea",
value:
"Idea . 53-34-98:0.0045, 98-11-00:0.09856, 44-22-88:0.09875, 22-98-90:0.3245"
}
]
}
];
console.log(arr.map(convert));
1) boucle à vos données brutes démo < / p> p>
2) Sur la clé "Étiquette", recherchez la matrice avec "filtre" === 'Idea'
3) Effectuer la scission et rejoindre pour convertir
Vous devez faire deux choses, fractionnez d'abord la valeur en plusieurs valeurs, par ex. Vous obtenez 53-34-98: 0.0045, vous avez donc divisé cela dans 2 variables 53-34-98 et 0,0045, puis la valeur que vous êtes après 0,0045 (la deuxième variable) * 100, puis vous ajoutez le caractère suivant ' % '. Si la variable initiale unique reçoit plusieurs valeurs, vous utilisez le ',' pour les diviser
Je pense que vous voulez dire
53-34-98: 0,45% code> au lieu de
53-34-98: 0,45% code>, non?