2017-10-29 22 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));