node.js - عبارت منظم جاوااسکریپت برای مطابقت با اعداد صحیح مثبت و منفی


من در حال تلاش برای استخراج اعداد صحیح مثبت و اعداد صحیح منفی از رشته دادهشده هستم. اما فقط قادر به استخراج اعداد صحیح مثبت هستم.

من رشته "34,-10" را به پارامتر getNumbersFromString ارسال میکنم

دارم میشوم

خروجی:

['34','10']

خروجی مورد انتظار باید باشد

[34,-10]

چطور این مشکل را حل کنم؟

function getNumbersFromString(numberString){
  var regx = numberString.match(/\d+/g);
  return regx;
}

console.log(getNumbersFromString("34,-10"));

پاسخ شماره ۱

شما همچنین میتوانید علامت - (حداقل 0 و حداکثر 1) را قبل از عدد مطابقت دهید. سپس میتوانید از map() برای تبدیل آنها به عدد استفاده کنید.

function getNumbersFromString(numberString){
  var regx = numberString.match(/-?\d+/g).map(Number);
  return regx;
}

console.log(getNumbersFromString("34,-10"));

پاسخ شماره ۲

چرا از یک عبارت منظم اینجا استفاده کنیم. درباره split() و map() چه میگویید؟

function getNumbersFromString(numberString){
  return numberString.split(',').map(Number)
}

console.log(getNumbersFromString("34,-10"));

یا آیا رشته ورودی «تمیز» نیست و همچنین شامل متن است؟