Если вы отметите здесь , вы увидите, что:
Если parseInt
встречает символ, который не является цифрой в указанном основании, он игнорирует его и все последующие символов и возвращает целочисленное значение, проанализированное до этой точки. parseInt усекает числа до целых значений. Разрешены пробелы в начале и в конце.
Поскольку $
не является допустимым числовым символом - parseInt проигнорирует его и все последующие символы, и вы фактически получите parseInt
в пустой строке - parseInt('')
, что приводит к NaN.
console.log(parseInt(''));
Если вы знаете, что ваши строки содержат только знак доллара, и вы хотите удалить его, вы можете использовать функцию replace
, чтобы сделать это:
const price = "$90.0";
console.log(parseInt(price.replace(/\$/, '')));