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:
codice:
For I = 1 To LoopCount
BigStr = BigStr & ConcatStr
Next I
ho una funzione che prealloca lo spazio necessario a 'ospitare' la stringa da concatenare:
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
Detto ciò, avrei bisogno di una funzione analoga ma in JavaScript. Ho simulato la funzione Space$ in questo modo:
codice:
function space(cnt) {
return (new Array(cnt + 1)).join('');
}
E utilizzo il metodo substr della stringa al posto del Mid, in realtà però quando vado a fare:
codice:
var L = srcStr.length;
bigStr = bigStr + space(L);
bigStr.substr(ccOffset+1, L) = srcStr;
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!