首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError: transcript.Transcription.map不是一个函数

TypeError: transcript.Transcription.map不是一个函数
EN

Stack Overflow用户
提问于 2022-05-18 10:21:37
回答 1查看 44关注 0票数 0

我正在编写一个function脚本,在其中我必须通过map函数中的一个字符串进行映射。

代码语言:javascript
复制
const set = new Set(["I", "deck", " Yes."]);
      const arr =  value.sort((a, b) => a.id - b.id)
      var v = 0   
return <RightWrapper>
        <Header>
          <Button onClick={handleDelete}>Delete Transcription</Button>
          <Button onClick={signOut}>Sign out</Button>
        </Header>
        
        {
    arr.map(transcript => (
      
      transcript.Transcription.map(word => (
        <p key={transcript.id}
       
        
        style={{
          color: set.has(word) ? 'red' : 'black'
        }}
        >{transcript.createdAt + "  " + transcript.Transcription + " "} </p>


      ))
    )

     
      )
  }
          </RightWrapper>;

目标-检查字符串transcript.Transcription中是否有任何单词在集合中。如果是,那么高亮显示这个词。

transcript.Transcription是一个句子(字符串)

EN

回答 1

Stack Overflow用户

发布于 2022-05-18 12:29:03

也许还有其他的方法,但我可以想出你提供的信息:

  1. 如果可能的话,可选地使用数组(因为有一个内置的一些函数来检查数组中的至少一个对象是否满足给定条件)
  2. 我正在将引用词(在下面的示例中称之为“关键字”)转换为正则表达式,并对它们调用测试方法。
  3. 对于返回true的输入单词,可以使用样式逻辑并应用必要的样式。

代码语言:javascript
复制
// const keywords = ["I", "Programmer"]
const keywords = new Set(["I", "Programmer"])
const inputWords = ["I am a Programmer", "He is a Programmer", "She was a coder", "Yes, I love JS"]

function hasMatch(word, keywords) {
  for (let kw of keywords) {
    let regex = new RegExp(kw)
    if (regex.test(word)) return true
  }
  return false
}

inputWords.forEach(word => console.log(`${word} --> ${hasMatch(word, keywords)}`))

if (inputWords.some(word => hasMatch(word, keywords))) {
  console.log('Found at least one match!')
}

注意事项:正则表达式区分大小写。通过向构造函数中添加额外的参数你可以让它变得不敏感来实现

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72287344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档