webForumDet fria alternativet

Kontrollera nummerföljd

1 svar · 391 visningar · startad av learn

learnMedlem sedan jan. 20051 130 inlägg
#1

Jag har en array vars element har denna struktur:

10-3

Alltså en siffra mellan 0 och 99 följt av ett bindestreck och sedan en siffra som är mellan 0-9. Arrayen har ett okänt antal element. Nu vill jag kontrollera att elementen följer en viss ordning, nämligen att första siffran (10 i ovan nämnda ex) adderat med den andra siffran (3 i ovan nämnda ex) är lika med nästa elements siffra. Dvs: ska nästa elements första siffra vara 13 i ex ovan.

Hur ska koden se ut för detta?

Tack på förhand!!

Peter SMedlem sedan dec. 20025 483 inlägg
#2
function checkArr(arr, n){
    if (n >= arr.length - 1){ return true }
    if (parseInt(arr[n].match(/^\d+/)) + parseInt(arr[n].match(/\d+$/)) != arr[n+1].match(/^\d+/)){ return false }
    return checkArr(arr, ++n);
}

Funktionen returnerar true om följden är riktig; false annars. Anropa med:

checkArr([i]arr[/i], 0);

Där arr är din array. :)

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)