我正在尝试循环遍历一个数组并将其中的字符串与另一个字符串进行比较,然后将它们添加到新数组中。
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] === adUnitMacro
更改为 adUnitMacro.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]);
}
}
关于javascript - 正则表达式通配符和搜索数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47897161/