我有一个字符串数组。
我想在该数组中搜索包含特定字符串的字符串。
如果找到了,请返回该字符串,不包括我们查找的字符串位。
因此,数组有三个单词。 " Strawbery"," Lime"," Word:Word Word"
我想在该数组中搜索并找到包含" Word的完整字符串:"在其中并返回" Word Word"
到目前为止,我已经尝试了几种不同的解决方案无济于事。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes看起来很有希望,但我输了。有什么建议吗?
这是我到目前为止所做的尝试:
var arrayName = ['Strawberry', 'Lime', 'Word: Word Word']
function arrayContains('Word:', arrayName) {
return (arrayName.indexOf('Word:') > -1);
}
答案 0 :(得分:2)
您可以使用find
搜索数组。并使用replace
删除该字词。
此代码仅返回第一个元素的值。
let arr = ["Strawbery", "Lime", "Word:Word Word"];
let search = "Word:";
let result = (arr.find(e => e.includes(search)) || "").replace(search, '');
console.log(result);

如果有多个搜索结果,您可以使用filter
和map
let arr = ["Strawbery", "Word:Lime", "Word:Word Word"];
let search = "Word:";
let result = arr.filter(e => e.includes(search)).map(e => e.replace(search, ''));
console.log( result );

答案 1 :(得分:0)
使用 .map :
words_array = ["Strawbery", "Lime", "Word:Word Word"]
function get_word(words_array, search_word) {
res = '';
words_array.map(function(word) {
if(word.includes(search_word)) {
res = word.replace(search_word, '')
}
})
return(res)
}
<强>用法强>:
res = get_word(words_array, 'Word:')
alert(res) // returns "Word Word"