Hallo,
wenn du tmp als leeren String initialisierst, dann kannst du nicht auf tmp[i] für i>0 zugreifen, weil das nicht existiert. Das tust du aber mit deiner Schleife, in der du elem zeichenweise nach tmo kopierst.
Ich habe zwar mit JS keine nennenswerte Erfahrung, aber ich denke, hier solltest du den String über concat erweitern.
Gruß
computerschrat