Eu tive um problema em javascript no qual eu precisava percorrer um array
com chaves em strings, e o javascript não possui-a nenhuma função que tivesse esta
funcionalidade de percorrer um array, como o PHP possui.
E eu acabei por criar a função, e estou postando aqui o código, para
que todos possam utiliza-las.
// funções next prev para array
// FUNÇÂO next()
function next(arrayAtual,chaveArrayAtual) {
var next;
var u;
var i = 0;
for(var chave in arrayAtual) {
if(chave == chaveArrayAtual) {
var u = i;
var next = i + 1;
var prev = i - 1;
}
i++;
}
if(u == (arrayAtual.length - 1))
u = 0;
if(next == arrayAtual.length)
next = 0;
var y = 0;
for(var key in arrayAtual) {
if((u + 1) == next) {
if(y == next)
return key; // retorna proxima chave do array
y++;
} else if(next == 0) {
for(chave in arrayAtual)
return chave; // retorna a primeira chave do array
}
}
}
// FUNÇÂO prev()
function prev(arrayAtual,chaveArrayAtual) {
var i = 0;
var prev;
var u;
for(var chave in arrayAtual) {
if(chave == chaveArrayAtual) {
var u = i;
var prev = i - 1;
}
i++;
}
if(u == 0)
u = arrayAtual.length;
if(prev == -1)
prev = arrayAtual.length - 1;
var v = 0;
for(var key in arrayAtual) {
if((u - 1) == prev) {
if(v == prev)
return key; // retorna a chave anterior do array,
// caso seja a ultima retorna a primeira
v++;
}
}
}
///////////////////////////////////////////////////
Pergunta
Diego.G.A
Eu tive um problema em javascript no qual eu precisava percorrer um array
com chaves em strings, e o javascript não possui-a nenhuma função que tivesse esta
funcionalidade de percorrer um array, como o PHP possui.
E eu acabei por criar a função, e estou postando aqui o código, para
que todos possam utiliza-las.
// funções next prev para array // FUNÇÂO next() function next(arrayAtual,chaveArrayAtual) { var next; var u; var i = 0; for(var chave in arrayAtual) { if(chave == chaveArrayAtual) { var u = i; var next = i + 1; var prev = i - 1; } i++; } if(u == (arrayAtual.length - 1)) u = 0; if(next == arrayAtual.length) next = 0; var y = 0; for(var key in arrayAtual) { if((u + 1) == next) { if(y == next) return key; // retorna proxima chave do array y++; } else if(next == 0) { for(chave in arrayAtual) return chave; // retorna a primeira chave do array } } } // FUNÇÂO prev() function prev(arrayAtual,chaveArrayAtual) { var i = 0; var prev; var u; for(var chave in arrayAtual) { if(chave == chaveArrayAtual) { var u = i; var prev = i - 1; } i++; } if(u == 0) u = arrayAtual.length; if(prev == -1) prev = arrayAtual.length - 1; var v = 0; for(var key in arrayAtual) { if((u - 1) == prev) { if(v == prev) return key; // retorna a chave anterior do array, // caso seja a ultima retorna a primeira v++; } } } ///////////////////////////////////////////////////Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.