Diminuir código HTML

Boas pessoal,
precisava de uma ajuda, tenho esta função em HTML:
function getPosition(elementToFind, array) {
var i;
for (i = 0; i < array.length; i += 1) {
if (array == elementToFind) {
return i;
}
}
}

E depois tenho um ciclo if que gostava de reduzir:
if(
getPosition(1,array)==0 &&
getPosition(2,array)==1 &&
getPosition(3,array)==2 &&
getPosition(4,array)==3 &&
getPosition(5,array)==4 &&
getPosition(6,array)==5 &&
getPosition(7,array)==6 &&
getPosition(8,array)==7 &&
getPosition(9,array)==8 &&
getPosition(10,array)==9 &&
getPosition(11,array)==10

){
...code
}
Gostava de reduzir este código a vermelho... Talvez com um ciclo for, mas já tentei e não consigo...

Cumps :wavey:
 
Em pseudocódigo:

Código:
flag = True
for i in array_length (ou o número que for, não sei se é o tamanho do array)
    if not getPosition(i+1, array) == i
        flag = False
        break
if flag
    etc
 
Estás a confundir as pessoas função em html? não queres dizer antes em javascript?
Não tens um ciclo if, tens multiplas && condições ciclos são whiles, for, do while
o ciclo for da função getPosition() precisa do indíce "i"
for (i = 0; i < array.length; i += 1) {
if (array == elementToFind) {
return i;
}
}
quanto a veres se existe o 1,2,3,4,5,6,7... no array convinha sabermos tb o que está no array mas msm sem saber aqui está:
var array = [o, que, quer, que, aqui, tenhas, 1];
var search = [1,2,3,4,5,6,7,8,9,...];
var arrayTemTudo = true;
for(var count=0; count < search.length; count++){
if(getPosition(search[count], array) == false){
arrayTemTudo = false;
}
if(count == search.length && arrayTemTudo == true){
codigo que queiras fazer
}else{
msg a dizer que 1 das posições do array search não existe no array "array"
}
}
Quanto a função getPosition tens que devolver true em caso de successo e false em caso de não encontrar
 
Última edição:
Back
Topo