intanto prova a verificare questa cosa nel tuo codice:

nei tuoi cicli parti sempre da 0 ma arrivi sempre a array..length metre dovresti arrivare ad array..length-1 perchè il codice faccia le iterazioni corrette, potrebbe già essere questo un problema per il codice successivo, quindi

for (i=0; i<myarray.length; i++)

seconda cosa, utilizzi lo stesso nome come indice di due cicli, di cui addirittura uno è annidato nell'altro... cambia il nome dell'indice che è meglio, ci sono anche altre lettere oltre a "i" e "k"