Faits:
A. X._ SA a exécuté des travaux d'installation électrique sur une villa que les époux H.B._ et F.B._ faisaient construire à Bellevue. Les travaux d'installation avaient d'abord été confiés à une première entreprise qui ne les avait pas achevés en raison de sa faillite, puis à une deuxième dont le travail était défectueux. Le 18 janvier 2002, faute d'avoir reçu les acomptes qu'elle réclamait, X._ SA a fait savoir qu'elle ne pouvait pas poursuivre le travail et qu'elle quittait le chantier. Un litige s'est ensuite élevé au sujet du prix des travaux exécutés.
B. Le 23 mars 2007, X._ SA a ouvert action contre les époux B._ devant le Tribunal de première instance du canton de Genève. Les défendeurs devaient être condamnés à payer, pour prix des travaux, 32'031 fr.35 avec intérêts au taux de 5% par an dès le 21 décembre 2001 et 7'944 fr.90 avec intérêts dès le 13 janvier 2002.
Les défendeurs ont notamment excipé de la prescription et conclu au rejet de l'action.
Le tribunal s'est prononcé le 17 septembre 2009; il a accueilli l'exception et rejeté l'action.
La Cour de justice a statué le 12 mars 2010 sur l'appel de la demanderesse; elle a confirmé le jugement.
C. Agissant par la voie du recours en matière civile, la demanderesse saisit le Tribunal fédéral de conclusions principales identiques à celles prises dans les instances précédentes. Des conclusions subsidiaires tendent à l'annulation de la décision attaquée et au renvoi de la cause à la Cour de justice pour nouvelle décision.
Les défendeurs n'ont pas déposé de réponse ni pris de conclusions.
Considérant en droit:
1. Le recours est dirigé contre un jugement final (art. 90 LTF), rendu en matière civile (art. 72 al. 1 LTF) et en dernière instance cantonale (art. 75 al. 1 LTF). Son auteur a pris part à l'instance précédente et succombé dans ses conclusions (art. 76 al. 1 LTF). La valeur litigieuse excède le minimum légal de 30'000 fr. (art. 51 al. 1 let. a et 74 al. 1 let. b LTF); le recours a été introduit en temps utile (art. 100 al. 1 LTF) et dans les formes requises (art. 42 al. 1 à 3 LTF).
Le recours est ouvert pour violation du droit fédéral (art. 95 let. a LTF). Le Tribunal fédéral applique ce droit d'office, hormis les droits fondamentaux (art. 106 LTF). Il n'est pas lié par l'argumentation des parties et il apprécie librement la portée juridique des faits; il s'en tient cependant, d'ordinaire, aux questions juridiques que la partie recourante soulève dans la motivation du recours (art. 42 al. 2 LTF; ATF 135 III 397 consid. 1.4 p. 400; 133 II 249 consid. 1.4.1 p. 254), et il ne se prononce sur la violation de droits fondamentaux que s'il se trouve saisi d'un grief invoqué et motivé de façon détaillée (art. 106 al. 2 LTF; ATF 134 I 83 consid. 3.2 p. 88; 134 II 244 consid. 2.2 p. 246; 133 II 249 consid. 1.4.2).
Le Tribunal fédéral doit conduire son raisonnement juridique sur la base des faits constatés dans la décision attaquée (art. 105 al. 1 LTF); en règle générale, les allégations de fait et les moyens de preuve nouveaux sont irrecevables (art. 99 al. 1 LTF). Le tribunal peut compléter ou rectifier même d'office les constatations de fait qui se révèlent manifestement inexactes, c'est-à-dire arbitraires aux termes de l'art. 9 Cst. (ATF 133 II 249 consid. 1.1.2 p. 252), ou établies en violation du droit (art. 105 al. 2 LTF). La partie recourante est autorisée à attaquer des constatations de fait ainsi irrégulières si la correction du vice est susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF). Cette partie ne peut toutefois pas se borner à contredire les constatations litigieuses par ses propres allégations ou par l'exposé de sa propre appréciation des preuves; elle doit plutôt indiquer de façon précise en quoi ces constatations sont contraires au droit ou entachées d'une erreur indiscutable, et une critique qui ne satisfait pas à cette exigence est irrecevable (ATF 133 II 249 consid. 1.4.3 p. 254; voir aussi ATF 130 I 258 consid. 1.3 p. 261/262; 125 I 492 consid. 1b p. 495).
2. Aux termes des art. 127 et 128 ch. 3 CO, toutes les actions se prescrivent par dix ans lorsque le droit civil fédéral n'en dispose pas autrement (art. 127); l'une des exceptions légales concerne les actions des artisans pour leur travail, actions qui se prescrivent par cinq ans (art. 128 ch. 3). A l'instar du Tribunal de première instance, la Cour de justice applique en l'espèce cette dernière disposition et ce délai de cinq ans, et retient que la prescription est acquise aux défendeurs. La demanderesse soutient que l'activité fournie par elle, sur le chantier, n'était pas un travail d'artisan et que ses prétentions se prescrivaient donc par dix ans seulement.
Selon la jurisprudence, le travail de l'artisan se distingue par la nature spécifique et l'ampleur réduite de l'activité fournie. Il s'agit d'un travail manuel, exécuté avec ou sans outils, où l'élément manuel prévaut sur les composantes intellectuelles et scientifiques. Ce travail dépend de l'activité manuelle de celui qui l'accomplit, plutôt que de l'engagement de moyens techniques. L'utilisation de grosses machines exclut le travail artisanal. Celui-ci est aussi exclu lorsqu'en raison d'une ampleur considérable, l'activité fournie nécessite des mesures de planification et de coordination particulières avec d'autres corps de métiers. L'art. 128 ch. 3 CO ne s'applique donc qu'en présence de travaux manuels typiques, traditionnels et accomplis dans un cadre restreint (ATF 123 III 120 consid. 2b p. 123; 132 III 61 consid. 6.3 p. 62/63). Sur la base de la jurisprudence fédérale et cantonale, la doctrine rapporte une casuistique abondante et mentionne, parmi les activités artisanales, les travaux d'installation électrique (Peter Gauch et Benoît Carron, Le contrat d'entreprise, 1999, p. 372 nos 1291 et 1292).
La Cour de justice constate que la demanderesse a exécuté sans l'aide de grosses machines l'installation électrique classique d'une villa comprenant environ, sur deux étages, 200 m2 de surface habitable; elle devait remédier aux malfaçons des entreprises qui avaient commencé l'installation, ce qui compliquait son travail. La Cour constate aussi que la coordination avec d'autres corps de métiers incombait à l'architecte et qu'elle n'a donc entraîné aucune charge pour la demanderesse.
Celle-ci tient ces constatations de la Cour pour manifestement incomplètes quant à la nature et à l'importance de ses prestations; elle demande que le Tribunal fédéral se réfère aussi, « au besoin », aux considérants du Tribunal de première instance et aux explications des parties. Cette critique est irrecevable parce qu'elle ne satisfait pas aux exigences de la jurisprudence relative à l'art. 97 al. 1 LTF. Il incombait à la demanderesse d'indiquer de manière précise, en désignant de manière tout aussi précise les preuves censément concluantes, les faits que la Cour de justice aurait dû constater de surcroît.
La demanderesse invoque la jurisprudence précitée et conteste que son activité procédât « d'une activité artisanale simple et de routine ». Il est vrai que l'installation complète de l'électricité, dans une grande villa, est un travail d'une certaine importance; néanmoins, il s'inscrit encore dans l'artisanat que vise l'art. 128 ch. 3 CO. En l'occurrence, la nécessité de contrôler le travail déjà fait par d'autres entreprises et, au besoin, de le refaire, renforçait l'importance de l'activité manuelle et du savoir-faire individuel des ouvriers. Le Tribunal fédéral peut donc adhérer à l'appréciation de la Cour de justice et confirmer, en conséquence, que la créance litigieuse se prescrit par cinq ans selon cette disposition.
3. Le recours se révèle privé de fondement, dans la mesure où les griefs présentés sont recevables. A titre de partie qui succombe, son auteur doit acquitter l'émolument à percevoir par le Tribunal fédéral. Les adverses parties n'ont pas déposé de réponse et il ne leur est donc pas alloué de dépens.
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté, dans la mesure où il est recevable.
2. La demanderesse acquittera un émolument judiciaire de 2'000 francs.
3. Il n'est pas alloué de dépens.
4. Le présent arrêt est communiqué aux parties et à la Cour de justice du canton de Genève.
Lausanne, le 12 octobre 2010
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La présidente: Le greffier:
Klett Thélin