我有两个数组。如果arrayTwo有颜色“蓝色和”红色“然后从arrayOne返回”蓝色绘画“,”红色沙发“,”蓝色锅“。
var arrayOne = ["green wall", "blue painting", "red sofa", "yellow shelf", "blue pot"];
var arrayTwo = ["blue", "red"];
for (var i=0; i < arrayOne.length; i++ ) {
if (arrayOne[i] == "blue" || "red"){
// this should give colors that match in arrayOne
}
}
编辑:我想知道单词是否匹配第一和第二列。但不是硬编码。
答案 0 :(得分:3)
您可以使用正则表达式:
var arrayOne = ["green wall", "blue painting", "red sofa", "yellow shelf", "blue pot"];
var arrayTwo = ["blue", "red"];
var regex = new RegExp('^(' + arrayTwo.join('|') + ')');
for (var i=0; i < arrayOne.length; i++ ) {
if (arrayOne[i].match(regex)) {
// this should give colors that match in arrayOne
}
}
答案 1 :(得分:0)
作为一种基本算法,您可以遍历第一个数组中的每个元素,使用String.prototype.split方法将其拆分,并将第一个单词与第二个数组中的元素进行比较。如果匹配,则可以在该索引处打印元素。