簡體   English   中英

正則表達式通配符和搜索數組

[英]Regular expression wildcard and searching arrays

我試圖遍歷一個數組並將其中的字符串與另一個字符串進行比較,然后將它們添加到新數組中。

 var adUnitMacro = 'news' var verticalOutput = [] keywordArray = ['news', 'homepage', 'technology', 'entertainment', 'sport', 'business', 'lifestyle', 'travel', 'motoring', 'property' ] for (i = 0; i < keywordArray.length; i++) { if (keywordArray[i] === adUnitMacro) { verticalOutput.push(keywordArray[i]); } } console.log(verticalOutput) console.log(keywordArray[0]) 

在此示例中,“新聞”被添加到verticalOutput數組。 但是,如果adUnitMacro變量為'123news123',則不會將任何內容添加到verticalOutput數組中,因為關鍵字數組中的'news'不完全匹配。

如果adUnitMacro中存在關鍵字數組中的字符串,該如何將這些值推入verticalOutput數組中,怎么辦?

例如,如果adUnitMacro = 'newshomepagetechnology'

verticalOutput數組為['news', 'homepage', 'technology']

嘗試將keywordArray[i] === adUnitMacroadUnitMacro.includes(keywordArray[i])

您的代碼最終看起來像這樣:

var adUnitMacro = 'news'
var verticalOutput = []

keywordArray = ['news', 'homepage', 'technology', 'entertainment', 'sport',
  'business', 'lifestyle', 'travel', 'motoring', 'property'
]

for (i = 0; i < keywordArray.length; i++) {
  if (adUnitMacro.includes(keywordArray[i])) {
    verticalOutput.push(keywordArray[i]);
  }
}

 var adUnitMacro = 'newshomepagetechnology' var verticalOutput = [] keywordArray = ['news', 'homepage', 'technology', 'entertainment', 'sport', 'business', 'lifestyle', 'travel', 'motoring', 'property' ] for (i = 0; i < keywordArray.length; i++) { if (adUnitMacro.includes(keywordArray[i])) { verticalOutput.push(keywordArray[i]); } } console.log(verticalOutput) console.log(keywordArray[0]) 

暫無
暫無

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

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