Wie erzwinge ich, dass JavaScript einen String tief kopiert?

Ich habe einen Javascript-Code, der so aussieht:

var myClass = {
  ids: {}
  myFunc: function(huge_string) {
     var id = huge_string.substr(0,2);
     ids[id] = true;
  }
}

päter wird die Funktion mit einigen großen Strings (100 MB +) aufgerufen. Ich möchte nur eine kurze ID speichern, die ich in jeder Zeichenfolge finde. Die Teilzeichenfolge-Funktion von Google Chrome (in meinem Code ist sie eigentlich regulär) gibt jedoch nur ein "Stringsegment" -Objekt zurück, das auf das Original verweist. Also nach einer Reihe von Anrufen zumyFunc, auf meinem Chrome-Tab ist nicht genügend Speicher verfügbar, da das temporärehuge_string Objekte können nicht mit Müll eingesammelt werden.

Wie kann ich eine Kopie des Strings erstellenid so dass ein Verweis auf diehuge_string wird nicht gepflegt und dashuge_string kann Müll gesammelt werden?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage