Javascript Заменить значение из var - PullRequest
0 голосов
/ 12 декабря 2011

Может кто-нибудь помочь мне с этим сценарием?Я должен заменить значение переменной в строке (строковые переменные являются динамическими)

Вот пример:

var string = "#sport,#fotogallery,#sport,"; 
var element = "#sport"; 
string.replace(element+",","");
alert(string);

Ответы [ 2 ]

3 голосов
/ 12 декабря 2011

Во-первых, функция replace возвращает строку, она не изменяет переменную. Итак, правильное использование выглядит следующим образом:

source = source.replace('old', 'new');

Вы должны позаботиться о том, чтобы ваш ввод был в точном формате, потому что если после последнего значения нет запятой, и вы хотите заменить последнее значение, то просто с помощью replace произойдет сбой.

0 голосов
/ 12 декабря 2011

Заменить все экземпляры element, за которыми следует необязательная запятая:

str = str.replace(new RegExp(element + ",?", "g"), "")

Ваша строка выглядит разделенной, так что это также опция:

var str = "#sport,#fotogallery,#sport,"; 
var element = "#sport"; 
var newStr = str.split(",").filter(function(el) {
    return el !== element;
}).join(",");

Или, если вы не можете использовать filter, это тоже будет работать:

var parts = str.split(",");
var res = [];
for (var i = 0; i < parts.length; i++) {
    if (parts[i] !== element)
        res.push(parts[i]);
}
var newStr = res.join(",");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...