You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从含货币标识的数组中提取纯数字并存储为新数组

提取数组中的数字

首先注意:你给出的原数组存在语法错误,元素需要用引号包裹为字符串,正确定义应为:

var price = ["Rs 299", "Rs 499", "Rs 899", "Rs 199"];

下面提供两种简单的方法提取数字组成新数组:

方法一:正则表达式匹配(通用型)

利用正则匹配字符串中的数字部分,结合map()遍历转换:

var numericPrices = price.map(item => {
  // 匹配连续数字,转为整数
  const numMatch = item.match(/\d+/);
  return numMatch ? parseInt(numMatch[0], 10) : null;
});
  • 优势:即使字符串格式有细微变化(比如"Rs.299"或"Rs 299"多空格),依然能正确提取数字
  • 异常处理:如果元素中没有数字,会返回null,可根据需求调整返回值

方法二:按空格分割(依赖固定格式)

如果确定所有元素都是"Rs + 空格 + 数字"的格式,可以直接分割字符串:

var numericPrices = price.map(item => parseInt(item.split(" ")[1], 10));
  • 优势:代码更简洁
  • 局限:格式变化(比如无空格、多空格)会导致提取失败

执行后numericPrices就是你需要的[299, 499, 899, 199]。

内容的提问来源于stack exchange,提问作者Shivraj Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 20:06:22