この関数ではmatch
の目的は何ですか?私はそれを削除しようと結果はjavacript関数のパラメータに値を配置する
NaNの1は、NaN 2、及び以下引けるコードのNaNで101
var stock = "1 lemon, 2 cabbages, and 101 eggs";
function minusOne(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));
出力されます。
なしレモン、1つのキャベツ、および100個の卵
var 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));
なぜあなたの金額はマイナスですか?以下のコードをご覧ください。 amount = Number(amount) - 1; –
@RanaGhosh私はただのブログを読んでいます。申し訳ありませんが、私は彼がそのコードで意味することについてはありません。私は参照を含める。 – KiRa
コールバックとして 'replace'によって' minusOne'関数が使用されています。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace – haim770