How to get object position (index)

0

How to get the position of the object that was found in $ .inArray ()?

    var obj = [
    {
        cidade : [
            {
                nome : "Maringá" ,
                uf : "PR" ,
            } ,

            {
                nome : "Curitiba" ,
                uf : "PR" ,
            } ,

            {
                nome : "Londrina" ,
                uf : "PR" ,
            }
        ]
    } ,
    {
        estado : [
            {
                nome : "Paraná" ,
                sigla : "PR"  ,
                regiao : "sul"
            } ,
            {
                nome : "São Paulo" ,
                sigla : "SP"  ,
                regiao : "sul"
            } ,
            {
                nome : "Rio Grande do Sul" ,
                sigla : "PR"  ,
                regiao : "sul"
            }
        ]
    }
];
    exemplo.init();
    
asked by anonymous 10.12.2014 / 14:27

2 answers

2

do so:

function procurar(objeto_, procurado_) {    
    var encontrou = false;
    var retorno = [];   
    function recursiva(objeto)
    {               
        if(typeof objeto === 'object')
        {
            for(var i in objeto)
            {
                retorno.push(i);                
                recursiva(objeto[i]);               
                if(encontrou)
                {
                    break;
                }
                retorno.pop();
            }
        }
        else
        {           
            if(objeto === procurado_)
            {
                encontrou = true;
            }
        }       
    }   
    recursiva(objeto_); 
    return retorno;
}

Then create a function to test:

function testa_procurar() {
    var procurado = 'Londrina';
    var localizacao = procurar(obj, procurado);
    console.log('localizacao: ' + localizacao); 
}

output: 0, city, 2, name

Then just implement other features!

    
11.12.2014 / 19:26
3

As described in documentation of $.inArray() , when it finds the element it returns the position it is in , if the element does not exist it returns -1 .

    
10.12.2014 / 14:31