найти и заменить в jquery ... возникли проблемы с массивом поисковых терминов - PullRequest
0 голосов
/ 11 октября 2011

Я пытаюсь найти и заменить строку текста, но, похоже, не нравится, когда я ссылаюсь на переменную?Это прекрасно работает, если я жестко закодировал число там, но возвращает

отсутствует: после идентификатора свойства

, если я пытаюсь ссылаться на переменную:

var text = "section-1 section_1 section[1]";
var cloneCount = 1;
var cloneUp = 2;
var array = {
  "section-"+cloneCount:"section-"+cloneUp, 
  "section_"+cloneCount:"section_"+cloneUp, 
  "section\\["+cloneCount:"section\["+cloneUp
};

for (var val in array) {
  text = text.replace(new RegExp(val, "gi"), array[val]);
  alert(text);
}

Надеюсь, кто-то здесьможет помочь?

1 Ответ

1 голос
/ 11 октября 2011

Ваша array инициализация неверна и должна просто вызвать синтаксическую ошибку. Вы хотите это:

var array = { };
array["section-"   + cloneCount] = "section-"  + cloneUp;
array["section_"   + cloneCount] = "section_"  + cloneUp;
array["section\\[" + cloneCount] = "section\[" + cloneUp;

Вы не можете использовать выражение в качестве ключа в литерале объекта, если вам нужно использовать выражение для построения ключа, тогда вы должны использовать синтаксис o[...] = ....

Демо: http://jsfiddle.net/ambiguous/cDthk/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...