Използвам функцията на javascript join(), за да преобразувам масив от знаци в низ, като същевременно премахвам разделителите със запетаи между знаците.
През повечето време това работи точно както се очаква - но току-що открих, че се проваля, ако има знак по-малко от (‹) в масива.
Например:
var chararray = ["A", "B", "C", "D", "E"];
var string = chararray.join("");
console.log(string);
произвежда низа ABCDE
но в този пример НЕ работи според очакванията
var chararray = ["A", "B", "C", "<", "E"];
var string = chararray.join("");
console.log(string);
произвежда низа ABC (спира, когато достигне знака ‹)
Ако използвам join() - оставям разделителите със запетаи - работи
var chararray = ["A", "B", "C", "<", "E"];
var string = chararray.join();
console.log(string);
произвежда низ A,B,C,‹,E
но ако след това се опитам да премахна запетаите с помощта на string.replace(/./g, ), отново получавам същия резултат - ABC
var chararray = ["A", "B", "C", "<", "E"];
var string = chararray.join();
var outputstring = string.replace(/,/g, "");
console.log(outputstring);
Произвежда низ ABC - отново спира на знака ‹.
Доколкото знам, ‹ не е специален знак в javascript (освен ако не се използва в уравнение за математика/сравнение) - така че защо прави това? Не прави това с други символи, включително ›, = и т.н.