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

如何从混合文本中过滤提取不带$符号的纯价格数值

问题分析

你的原有代码逻辑是直接删除所有$和|符号后将全部内容拼接为单条字符串,最终无法得到独立的价格数值,也没办法后续计算平均值。

正确实现代码

// 原始数据字符串
const data = `$11.78 | Tue Sep 07 2021 14:57:34 GMT-0500 (Central Daylight Time)
$10.63 | Tue Sep 07 2021 14:58:19 GMT-0500 (Central Daylight Time)
$9.69 | Tue Sep 07 2021 14:59:20 GMT-0500 (Central Daylight Time)
$9.68 | Tue Sep 07 2021 14:59:35 GMT-0500 (Central Daylight Time)
$11.21 | Tue Sep 07 2021 15:00:36 GMT-0500 (Central Daylight Time)
$9.51 | Tue Sep 07 2021 15:01:07 GMT-0500 (Central Daylight Time)`;

// 提取纯数字价格数组
const priceList = data.split('\n') // 先按行拆分每条数据
  .map(line => {
    const pricePart = line.split('|')[0].trim(); // 取|前面的价格段,去掉前后空格
    return Number(pricePart.replace('$', '')); // 去掉$转成数字
  })
  .filter(price => !isNaN(price)); // 过滤掉异常无效值

// 计算平均值
const averagePrice = priceList.reduce((sum, curr) => sum + curr, 0) / priceList.length;

运行结果

  • 提取得到的价格数组:[11.78, 10.63, 9.69, 9.68, 11.21, 9.51]
  • 计算得到的平均值:保留两位小数约为10.42

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:27:04