Hari: Muchas gracias por prestarle atención a mi problema. Uso prototype para extender mis Arrays y que todos tengan esa funcionalidad ¿No es eso para lo que se usa? Entiendo lo que decis con this[a].id ... entoncces te explico: yo relleno el array con otros arrays, uno de esos arrays tiene un elemento "id" con determinado valor. El array es asi: [0] [id]=a [0] [id=b] [1] [id=c] [1] [id=d] [0] [id=e]
Entonces si yo busco con la sring "c" tendría que obtener el elemento [0][1] Cómo sería una funcion que busque eso? Con respecto a tu función: Yo necesito el elemento, no el índice, porque como es un elemento que está dentro de varios niveles de arrays, el índice no me sirve de mucho. Martin. Hari Seldon wrote: > ¿Y para qué usas un prototype? > > Hablas de "encontrar un elemento en un array por una de sus > propiedades". > > A ver, hasta dónde yo se, un array no es más que una tabla (n x m) > dónde cada "celda" i,j contiene un valor; en un lenguaje con strong typing, > dichos valores corresponderan todos al mismo tipo de datos; en lenguajes > como javascript, php y similares, con tipado débil, puedes mezclar el tipo > de datos (práctica poco aconsejable). > > Por ello, no se a qué te refieres a "encontrar un elemento en un > array por una de sus propiedades" > > Lo que puedes encontrar es la posición dentro de un array de un > elemento determinado, y devolverla, pero lo que tu escribes aquí no es un > array exactamente... > > this[a].id > > Que yo sepa un elemento de un array no tiene esa propiedad... No > tiene ninguna propiedad... Pero corrígeme si me equivoco por favor. > > No se si habrás mezclado muchas cosas diferente en ese script y > ahora tienes una ensalada de narices.... > > Mira, este código lo utilizo yo en una clase jS mía para buscar el > índice de un elemento determinado: > > classToldoConfiguratorStep1.prototype.searchIndex_aModelos_byIdModel = > function(iIdMod) { > var iLenMatrixModels = g_aModelos.length; > var iIndexIdModelSearched = null; > for (var i = 0; i < iLenMatrixModels; i++) { > if (g_aModelos[i][0] == iIdMod) { > iIndexIdModelSearched = i; > i = iLenMatrixModels; > } > } > return iIndexIdModelSearched; > } > > Busca en un array global g_aModelos en la primera "fila", o sea, en > las coordenadas (i, 0); no es complicado extenderlo para que busque en un > array (i,j), inclusive, hacerlo todavía más genérico para que busque en un > array de infinitas dimensiones; podría hacerse utilizando recursividad, y > buscando por "fila" (o sea, manteniendo fijas todas las dimensiones menos > una). > > Un saludo. > > > >> -----Mensaje original----- >> De: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] En nombre de Martin >> Szyszlican >> Enviado el: jueves, 02 de marzo de 2006 5:42 >> Para: javaescript@scriptia.net >> Asunto: [javaEScript] Encontrar un elemento en un array >> >> Hola, hace un tiempo que tenía ganas de suscribirme aqui. >> Retomé en estos días el JavaScript, estoy haciendo una serie de >> utilidades para mi CMS. >> Una de ellas requiere que encuentre un elemento en un array >> por una de >> sus propiedades. >> Es decir, yo sé que en un array hay un elemento que tiene una >> propiedad >> "id" con determinado valor. >> Hice un script (copiando de otros lados) que pretende hacer >> eso, pero no >> parece funcionar. >> Aquí el código: >> >> Array.prototype.findElementById = function( element_id ) { >> for( a in this ) { >> if (this[a].id) { >> if( this[a].id == element_id ) { >> return this[a]; >> } >> else if( this[a] instanceof Array) { >> return this[a].findElementById( element_id ); >> } >> } >> } >> return false; >> } >> >> -- >> Martin Szyszlican >> www.ylisto.info >> >> >> >> >> >> >> ___________________________________________________________ >> 1GB gratis, Antivirus y Antispam >> Correo Yahoo!, el mejor correo web del mundo >> http://correo.yahoo.com.ar >> >> _______________________________________________ >> javaEScript mailing list >> javaEScript@scriptia.net >> http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net >> > > > -- Martin Szyszlican www.ylisto.info ___________________________________________________________ 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar _______________________________________________ javaEScript mailing list javaEScript@scriptia.net http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net