Показать сообщение отдельно
  #1 (permalink)  
Старый 12.05.2018, 13:16
Аспирант
Отправить личное сообщение для VyacheslavBozere Посмотреть профиль Найти все сообщения от VyacheslavBozere
 
Регистрация: 18.03.2018
Сообщений: 31

Регулярные выражения
Всем привет. Подскажите пожалуйста как работает функция minusOne.
Я понял что ее аргументы это строка stock, но за счет какой технологии это работает ?

let stock = "1 lemon, 2 cabbages, and 101 eggs";
function minusOne(match, amount, unit) {
  amount = Number(amount) - 1;
  if (amount == 1) { // only one left, remove the 's'
    unit = unit.slice(0, unit.length - 1);
  } else if (amount == 0) {
    amount = "no";
  }
  return amount + " " + unit;
}
console.log(stock.replace(/(\d+) (\w+)/g, minusOne));
// → no lemon, 1 cabbage, and 100 eggs
Ответить с цитированием