Как уже говорилось, оператор -=
не перегружен для работы со строками, он работает только с числами.
Если вы попытаетесь использовать его со строками, оператор попытается преобразовать оба операнда в Number
, поэтому вы получаете NaN
, потому что:
isNaN(+"foo"); // true
Чтобы избавиться от содержимого arr
в строке test
, вы можете заменить it:
var test = "Test",
arr = "⇔"
test += arr;
alert(test); // Shows "Test⇔"
test = test.replace(arr, ""); // replace the content of 'arr' with "" on 'test'
alert(test); // Shows "Test"