Pour moi, bien que le code a été frappé pendant six mois, mais toujours aller lourds sur le tableau et ont un tableau d'objets et d'ajouter des ombres, donc grâce à la baisse d'écriture
A, l'addition d'un tableau d'objets
valeurs jsondata:
jsonData = var []
var obj = []
jsonData = e.data var data_pie = new new Array (); .each de $ (jsonData, fonction (index, item) { // hasOwnProperty: Y at - il un attribut 'nom' tableau de recherche obj IF (obj.hasOwnProperty (item.name, pour)) { // Sinon, laissez la valeur ajoutée obj [item.name, pour] + = (item.zongjinshui - item.zongchushui) / item.zongjinshui } else { // si cette propriété a l' affectation directe puis obj [item.name, pour] = (item.zongjinshui - item.zongchushui) / item.zongjinshui } });
console.log (obj)
Imprimer les valeurs obj:
La seconde méthode de cycle
était jsondata = []
était obj = []
jsondata = e.data console.log (jsondata) var data_pie = nouveau Array (); $ .Chaque (jsondata, fonction (index, item) {
//第二种方法
if (obj [item.name]) { obj [item.name] + = (item.zongjinshui - item.zongchushui) / item.zongjinshui } else { obj [item.name] = (item.zongjinshui - item.zongchushui) / item.zongjinshui } }); console.log (obj)
Lorsque la valeur de jsondata et obj est le même.
Si seulement pour obtenir un tableau de mots, cette étape a été bonne, mais mon projet est parfois nécessaire un tableau d'objets,
// en parcourant le tableau obj, l'attribution de la propriété obj .each de $ (obj, fonction (index, item) {
// ici besoin d'imprimer leur propre élément d'index regard et la valeur de ce que sont, ne donnent pas la valeur de la propriété ainsi que la mauvaise data_pie .Le bouton ({ ' valeur ' : Item, ' nom ' : index }) }); la console.log (data_pie)
Imprimer data_pie:
À ce stade, l'ajout de tableaux et objet tableau a été complété.
En second lieu, un tableau de Déduplication
Lorsque le réseau a les mêmes attributs, mais ne nécessite pas les mêmes quelques-uns, puis envisager d'aller lourd, ne laissant qu'une
// 1 réduire去重,针对数组对象 laisser personne = [ {id: 0 , le nom: " A " }, {id: 1 , nom: " B " }, {id: 2 , nom: " C " }, {id: 3 , le nom: " D " }, {id: 1 , nom: " E " }, {id: 2 , nom: " F " }, ]; laisser obj =} {; LeT Peon = person.reduce ((CUR, Next) => { obj [next.id] ? "" : Obj [next.id] = true && cur.push (Suivant), retour CUR; }, [ ]) // ensemble matrice type par défaut cur, et la valeur initiale de la matrice vide le console.log (Peon); // 2 au poids de consigne pour le groupement d'éléments purs ARR = [let 1. , 2 , 2 ]; le console.log ([... new new Set (arr)]); // [1, 2]
lien d' origine: HTTPS: // blog.csdn.net/qq_39045645/java/article/details/103383230
Le désaccentuation je n'ai pas essayer de sauver le premier vers le bas.