Salve, in Visual Basic ho implementato un metodo per ottimizzare il tempo di esecuzione nel concatenamento di stringhe di grandi dimensioni. Quindi invece, di scrivere:
ho una funzione che prealloca lo spazio necessario a 'ospitare' la stringa da concatenare:codice:For I = 1 To LoopCount BigStr = BigStr & ConcatStr Next I
Detto ciò, avrei bisogno di una funzione analoga ma in JavaScript. Ho simulato la funzione Space$ in questo modo:codice:Sub Concat(Dest As String, Source As String) Dim L As Long L = Len(Source) If (ccOffset + L) >= Len(Dest) Then If L > ccIncrement Then Dest = Dest & Space$(L) Else Dest = Dest & Space$(ccIncrement) End If End If Mid$(Dest, ccOffset + 1, L) = Source ccOffset = ccOffset + L End Sub
E utilizzo il metodo substr della stringa al posto del Mid, in realtà però quando vado a fare:codice:function space(cnt) { return (new Array(cnt + 1)).join(''); }
mi viene restituito un errore. Quello che voglio fare è semplicemente, come in VB, inserire, nello spazio di memoria appena creato, la stringa desiderata. Come posso farlo in JavaScript? Vi ringrazio anticipatamente!codice:var L = srcStr.length; bigStr = bigStr + space(L); bigStr.substr(ccOffset+1, L) = srcStr;

Rispondi quotando