簡體   English   中英

如何返回數組中存在的多個字符串值

[英]How to return multiple values of String that are present in an array

我有一個數組。

例如。 var ratio = ["Net Sales", "Total Sales", "Profit", "Day's Sale", "Average", "Sum"]

與字符串進行比較時,我想返回此數組中存在的所有值。

字符串例如:

var str = "ABC of [Net Sales = Total Sales (Profit)]"

我最終的 output 應該是: ["Net Sales", "Total Sales", "Profit"]

我嘗試使用 some() 但它只返回 boolean。

var stringIncludesItem = ratio.some(item => str.includes(item));

.some()僅在至少有一項針對所施加的條件返回 true 時才返回 true。 .filter()過濾掉(刪除,但不是從原始數組中刪除)對於所施加的條件不返回 true 的元素。

var ratio = ["Net Sales", "Total Sales", "Profit", "Day's Sale", "Average", "Sum"];
var str = "ABC of [Net Sales = Total Sales (Profit)]";
var stringIncludesItem = ratio.filter(item => str.includes(item));

使用filter

 var ratio = ["Net Sales", "Total Sales", "Profit", "Day's Sale", "Average", "Sum"]; var str = "ABC of [Net Sales = Total Sales (Profit)]"; var stringIncludesItem = ratio.filter(item => str.includes(item)); console.log(stringIncludesItem)

您可以使用正則表達式來獲取所需的字符串:

 const arr = ["Net Sales", "Total Sales", "Profit", "Day's Sale", "Average", "Sum"]; const str = "ABC of [Net Sales = Total Sales (Profit)]"; const regex = new RegExp(arr.join('|'), 'g'); console.log(str.match(regex));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM