我们说我有一个字符串数组
words = ["quick", "brown", "fox"]
和另一个字符串数组
animals = ["rabbit", "fox", "squirrel"]
我正在寻找能够返回words
中任何匹配项索引的函数。像这样:
words.findMatches(animals) // returns 2, the index at which "fox" occurs
答案 0 :(得分:2)
要添加到tetta的答案 - 我只是过滤掉了不匹配(-1
),因此返回的数组只包含匹配的索引。
var words = ["quick", "brown", "fox"];
var animals = ["rabbit", "fox", "squirrel"];
function getMatches(array1, array2) {
var result = array1.map(function (el) {
return array2.indexOf(el);
});
result.filter(function (el) {
return el !== -1
});
return result;
}
console.log(getMatches(animals, words));
链接数组方法可以实现同样的目标:
function getMatches(array1, array2) {
return array1.map(function (el) {
return array2.indexOf(el);
}).filter(function (el) {
return el !== -1
});
}
console.log(getMatches(animals, words));
答案 1 :(得分:1)
尝试这种方法。它将输出[-1,2,-1]。您可以根据需要使用它。
{{1}}