Ir para conteúdo
Fórum Script Brasil
  • 0

index dinamico de array


ClaudioX

Pergunta

Fala ae pessoal!

alguém sabe como que posso fazer um código tipo esse:

cars[cars.id][cars[cars.id].length] = obj;

O problema é que aparentemente eu não posso criar a posicao dinamicamente usando uma variavel (car.id), ou porque talvez car.id seja uma string.

Abração, t+

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Cardon, obrigado pela resposta,

Tipow:

cars[car.id][cars[car.id].length] = obj;
corrigido "cars" é um array, nesse array eu tenho que salvar uma colecao de objetos de diferentes tipos. car.id é um identificador do tipo de classe (pra facilitar a legibilidade estou usando string) = "volvo", "ford", etc... Na posição do identificador (car.id) vai ter o array com os objetos daquele tipo. A leitura seria como: Carros (cars), na posicao do tipo (car.id), na posicao do novo valor(cars[car.id].length) recebe um objeto; So que quando rodo o script a mensagem que recebo é "cars[cars.id] is undefined".. já tentei eval mas também não deu certo.. Agora to pensando até em usar uma estrutura:
var est_cars = {
        id: '',
        obj: []
    };
Mas não domino muito bem da matéria.. O que eu gostaria mesmo é de uma forma rápida de acessar os obj de um tipo:
tipo = cars["volvo"];
for(var carro in tipo){
    ....
}

Abração e obrigado,

T+

Editado por ClaudioX
Link para o comentário
Compartilhar em outros sites

  • 0

para facilitar vamos do inicio

array é baseado da seguinte forma

string e positions.

strings = valores

positions = ordem onde estão as strings

exemplo: array(volvo, ford, dodge, qualquercoisa)

array[0] = volvo
array[1] = ford
array[2] = dodge
array[3] = qualquercoisa
ou seja, você vai achar uma string dentro de uma array apenas indicando-lhe o valor da posição. array[volvo] não vai retornar => 0, ou qualquer outra coisa. agora pensando no que você quer fazer. pelo que intendi você quer relacionar duas listas de arrays. peças e suas marcas então ficaria mais ou menos assim
cars[volvo] = new Array('item01_01', 'iten01_02', 'iten01_03')
cars[ford] = new Array('item02_01', 'iten02_02', 'iten02_03')
cars[dodge] = new Array('item03_01', 'iten03_02', 'iten03_03')
cars[qualquercoisa] = new Array('item04_01', 'iten04_02', 'iten04_03')


document.write(cars[volvo][1]) // vai retornar iten01_02
ou você pode colocar as marcas detro de um segundo array. para facilitar a dinâmicidade da coisa, hehehe
carsId = new Array();
carsId[0] = 'volvo'
carsId[1] = 'ford'
carsId[2] = 'dodge'
carsId[3] = 'qualquercoisa'

document.write(cars[carsId[0]][1]) // vai retornar iten01_02

Daqui em diante é só ir fazendo os FOR's que forem preciso.

Falow

espero ter ajudado e também que funcione

mas qualquer coisa da um berro.

Link para o comentário
Compartilhar em outros sites

  • 0

valeu Cardon, brigadao pela ajuda!

Eu penei porque:

document.write(cars[volvo][1])

não estava funcionando talvez porque "volvo" vinha numa variavel, (é tenso postar código porque é grande), tentava eval e tudo.. mas não ia ^^"

Seu comentário acabou dando uma aula de array (melhor que quase todos os posts que achei na net), dessa vez usei struct, mas na prox já posso usar melhor os arrays.

Obrigado mesmo!

T+

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...