如何从此数组中选择元素

时间:2015-11-30 17:24:07

标签: javascript

我有两个数组。如果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 
 }
}

编辑:我想知道单词是否匹配第一和第二列。但不是硬编码。

2 个答案:

答案 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方法将其拆分,并将第一个单词与第二个数组中的元素进行比较。如果匹配,则可以在该索引处打印元素。