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: [email protected]
>> 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
>> [email protected]
>> 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
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net