在另一个数组中找到数组元素的索引javascript

时间:2015-05-08 02:28:58

标签: javascript arrays

我是这样的2个1-D阵列:

var words = ['Habitat for Humanity', 'Caring', 'Helping', 'People', 'Safety', 'Security', 'Shelter', 'Community', 'Volunteering'];
var sources = ['Helping', 'Community', 'Caring', 'Safety', 'Security'];

我想找出一个来自'来源的元素的索引。数组中的'单词'阵列。例如,元素'帮助'在'来源'数组位于索引2的“单词”中。阵列。所以我需要" 2"当我搜索单词索引"帮助"时作为我的解决方案。有人可以帮我吗?感谢。

我尝试使用' indexOf'数组中的函数但是id没有工作,当我搜索类似的问题时,有人说它在这个问题上不起作用。

4 个答案:

答案 0 :(得分:3)

是的,indexOf将完成这项工作。检查:

var words = ['Habitat for Humanity', 'Caring', 'Helping', 'People', 'Safety', 'Security', 'Shelter', 'Community', 'Volunteering'];
var sources = ['Helping', 'Community', 'Caring', 'Safety', 'Security'];

sources.forEach(function(source){
console.log(source, 'is at position', words.indexOf(source));
});

var words = ['Habitat for Humanity', 'Caring', 'Helping', 'People', 'Safety', 'Security', 'Shelter', 'Community', 'Volunteering'];
var sources = ['Helping', 'Community', 'Caring', 'Safety', 'Security'];

sources.forEach(function(source){
document.getElementsByTagName('div')[0].innerHTML += source + ' is at position: ' + words.indexOf(source) + '<br>';
});
<div></div>

答案 1 :(得分:2)

sources.map(function(word) { return words.indexOf(word); })
// => [2, 7, 1, 4, 5]

答案 2 :(得分:1)

您可以使用each功能。

$.each(words, function(key, value) {
      if(value == 'Helping'){
          alert(key);
      }
});

答案 3 :(得分:0)

var searchArray=function(value,words){
var result=-1;
for(var i=0;i<words.length;i++){
if(words[i]==value){
result=i;break
}
return result;
}

已回答来自手机。随意格式化。