d3.js: comment utiliser la fonction de carte?
Comment puis-je utiliser d3.map()
pour obtenir [10, 12]
de la rangée suivante?
var mydata = [
{ '__data__' : 10 },
{'__data__' : 12 }
];
J'ai essayé ceci mais ça ne fonctionne pas:
var mymap = d3.map(mydata, function(d) {
return d.__data__;
});
source d'informationauteur Richard
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas --
d3.map()
n'est pas pour une cartographie de la fonction à travers un tableau, mais une cale pour le hachage. Brièvement, tandis que les objets peuvent être utilisés comme de la cendre, il existe des situations où le comportement inattendu peut se produire. Un nouveau Javascript standard propose une solution à ce, et jusqu'à ce qu'il est mis en œuvre,d3.map()
peut être utilisé pour le même effet.Plus d'informations dans la documentation.
.map() crée un tableau avec un autre, ayant parcouru tout ce que vous lui avez donné et l'exécution d'une fonction définie sur chaque élément dans l'ancien tableau et puis qui devient le nouveau tableau.
donc, si je voulais effectuer une même opération sur tous les éléments dans un tableau et faire un nouveau tableau en dehors de ça, je ne l'utiliserais .map()
par exemple, j'ai besoin de voir quelque chose représentée en pourcentage lorsque les données que je reçois dans le répertoire /proc/loadavg me donne des chiffres comme 0.28, 0.03, 1.0, 0.97, 0.04, etc pour tous les 5 à 15 min de charge avg. mais j'ai aussi besoin de la sortie de l'exécution de nproc dans mon calcul, et nproc me donne le nombre de noyaux sur les choses qui y sont distribués. j'ai donc créer un tableau à chaque fois que /proc/loadavg me donne une nouvelle valeur, et que je pousse à chaque nouvelle valeur dans un tableau...
Ce serait initial de vos données:
Cela pourrait être la fonction à utiliser pour appliquer à tous les index dans le tableau de données:
Ce serait la cartographie à un nouveau tableau avec les valeurs transformées: