2017-10-29 25 views
-4

搜索与阵列与JavaScript搜索上串与串上的JavaScript

我有一个字符串数组,我需要搜索就可以用数组。

for ex。

// that is array what i have 
var arr = ['egypt', 'london', 'spain']; 

// that is strings what i have 
var str = "hello from egypt"; 
var str2 = "hello from london and spain"; 

ex。对于第一个字符串,我需要现在如果它包含数组中的任何值,并获取它。

like://在str上找到一个值'egypt'。 like://在str2上找到两个值'london,spain'。

+1

什么你到目前为止尝试过吗?看起来很基本。 –

+0

http://idownvotedbecau.se/noattempt/ – Vasan

+0

[indexOf](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)这就是你要找的东西 – Isac

回答

0

您可以使用includes,看是否在字符串中存在数组元素或不
这里是一个解决您的问题的代码

// that is array what i have 
 
var arr = ['egypt', 'london', 'spain']; 
 

 
// that is strings what i have 
 
var str1 = "hello from egypt"; 
 
var str2 = "hello from london and spain"; 
 

 

 
function searchWords(str){ 
 
var res=""; 
 
for(var i=0;i<arr.length;i++){ 
 
if (str.includes(arr[i])){ 
 
res+= arr[i] +' ' 
 
} 
 
} 
 
console.log('found one value '+res) 
 
} 
 

 
searchWords(str1); 
 
searchWords(str2);

+0

非常感谢您的帮助。 –

+0

@AbdElRahmanAhmad,你的欢迎 –

0

// that is array what i have 
 
var arr = ['egypt', 'london', 'spain']; 
 

 
// that is strings what i have 
 
var str = "hello from egypt"; 
 
var str2 = "hello from london and spain"; 
 

 
function search_in_string(_string, _array){ 
 
\t var out_arr=[]; 
 
\t for(var key in _array){ 
 
\t \t if(_string.indexOf(_array[key]) !=-1){ 
 
\t \t \t out_arr.push(_array[key]); 
 
\t \t } 
 
\t } 
 
\t return out_arr; 
 
} 
 

 
console.log(search_in_string(str, arr)); 
 
console.log(search_in_string(str2, arr));