在javascript中,查找包含字符串的数组中的项目,然后返回该项

时间:2018-03-21 03:13:01

标签: javascript arrays

我有一个字符串数组。

我想在该数组中搜索包含特定字符串的字符串。

如果找到了,请返回该字符串,不包括我们查找的字符串位。

因此,数组有三个单词。 " 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);
  }

2 个答案:

答案 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);




如果有多个搜索结果,您可以使用filtermap



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"
相关问题