2009-05-28 8 views
1

J'ai 2 tables dans DB:Comment construire une structure relationnelle en javascript?

1- Élément:

  • ElementID
  • elementName

2- Méthodes:

  • methodID
  • ElementID
  • MethodData

Donc, il y a un à plusieurs rapports entre éléments et méthodes,

je charger ces données à l'aide des tables asp.net,

Ce que je veux faire est d'envoyer ces données à mon javascript, et javascript fera quelques fonctions sur ces données. Par exemple, vous parcourrez tous les éléments en boucle et récupérerez chaque méthode élémentaire et effectuerez des opérations avec chaque donnée de méthode.

J'ai essayé de faire ce que les classes à jaascript mais trouvé moi-même écrit beaucoup de choses,

Premières 2 classes, pour les éléments et méthodes, puis 2 tableaux 1- 2- pour les éléments pour les méthodes

Et à l'intérieur du tableau des méthodes que j'ai écrit ceci:

this.findByElementId = function(elementId) { 
    var result = []; 
    for (var i = 0; i < this.methods.length; i++) { 
     if (elementId === this.methods[i].methodElement) { 
      result.push(this.methods[i]); 
     } 
    } 
    return result; 
} 

qui a fait mon code lent.

Ma Question est comment représenter cette structure relationnelle dans javascript pour plus de code professionnel et plus rapide dans le traitement?

Répondre

0
function Element() { 
this.id; 
this.type; 
this.methods = new Array(); 

}

function Method() { 
    this.id; 
    this.methodType; 
    this.methodData; 
    this.methodElement; 
    this.methodRank; 
} 
1

Je n'ai jamais essayé ce genre de choses moi-même, mais les gens ont écrit des bibliothèques LINQ-esque pour JavaScript, comme JSINQ. (Cette page renvoie également à d'autres bibliothèques JS LINQ au bas de la page.)

Il prétend que vous pouvez "écrire des requêtes arbitrairement complexes sur des tableaux JavaScript, des listes de noeuds DOM ou vos propres types énumérables", ce qui ressemble à ce que tu veux.

+0

bon lien, mais je crains que cela peut rendre mon code plus lent, mais sa belle, va essayer –

+0

Si vous avez besoin vitesse fulgurante, vous devez coder à votre situation ; les solutions générales feront rarement mieux, parce que vous sacrifiez habituellement la vitesse pour l'utilité. –

+0

Donc, si je n'utilise pas un utilitaire comme celui-ci, mon code est bon? –

Questions connexes