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

如何提取JS数组中所有在目标字符串里出现的字符串值

你可以使用Array.prototype.filter()方法实现需求,该方法会保留数组中所有符合判断条件的元素,返回新的元素集合,刚好可以替换你现在用的some()方法,原有判断逻辑不需要修改。

实现代码

// 原有变量定义
var ratio = ["Net Sales", "Total Sales", "Profit", "Day's Sale", "Average", "Sum"]
var str = "ABC of [Net Sales = Total Sales (Profit)]"

// 筛选匹配元素
var matchedItems = ratio.filter(item => str.includes(item))

运行后matchedItems的值就是你需要的["Net Sales", "Total Sales", "Profit"]。

可选优化

如果需要忽略大小写匹配,可以统一转成小写后再判断:

var matchedItems = ratio.filter(item => str.toLowerCase().includes(item.toLowerCase()))

如果需要避免子串误匹配(比如数组存在Sales元素时不会和Net Sales误匹配),可以改用正则加单词边界判断:

var matchedItems = ratio.filter(item => new RegExp(`\\b${item}\\b`).test(str))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 21:27:03