Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.12.2014, 01:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,114

Cache,
var mth = [];
mth["ноя"] = 11;
alert("03 ноя 2014".replace(/(\d+)\s(\W+)\s(\d+)/, function(a, b, c, d) {
    return mth[c] ? b + "." + mth[c] + "." + d : a
}));
Ответить с цитированием
  #12 (permalink)  
Старый 04.12.2014, 01:39
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

рони, спасибо, но все же, по каким причинам нельзя подставить $2 как ключ массива?
Ответить с цитированием
  #13 (permalink)  
Старый 04.12.2014, 01:40
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

krutoy, вам тоже спасибо
Ответить с цитированием
  #14 (permalink)  
Старый 04.12.2014, 02:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,114

Cache,
$2 часть шаблона второй строки которую нужно заменить -- на содержимое второй скобки первой строки - строка слева меняется на строку справа -- собрали строку справа из '$1.'+mth['$2']+'.$3' получили '$1.undefined.$3' и после перезаписали $1 и $3 на части из первой строки '03 ноя 2014'
Ответить с цитированием
  #15 (permalink)  
Старый 04.12.2014, 03:22
Кандидат Javascript-наук
Отправить личное сообщение для Cache Посмотреть профиль Найти все сообщения от Cache
 
Регистрация: 02.05.2013
Сообщений: 111

рони, спасибо, думаю понял, в чем ошибка
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск