【问题标题】:How to include a value from .some in an output?如何在输出中包含来自 .some 的值?
【发布时间】:2021-07-02 01:35:11
【问题描述】:

我正在检查 sentences 数组中的单词是否没有收缩:

const sentences = ['i do not', 'aren\'t you']

const result = sentences.reduce((result, sentence, index, array) => {
  const noncontractions = ['do not', 'are not']
  const isNoncontraction = noncontractions.some(noncontraction => sentence.includes(noncontraction))

  if (isNoncontraction) {
    result.push(sentence)
  }

  return result
}, [])

console.log(result) // list of sentences that aren't contracted.

现在,输出是['i do not']。但我也想包含与该项目相关的noncontraction

所以输出看起来像:[{ sentence: 'i do not', noncontraction: 'do not'}]

我不确定如何实现这一点,因为noncontraction.some“循环”中。

【问题讨论】:

    标签: javascript loops if-statement reduce


    【解决方案1】:

    使用find() 而不是some()。然后你可以将找到的内容与句子结合起来。

    const sentences = ['i do not', 'aren\'t you']
    
    const result = sentences.reduce((result, sentence) => {
      const noncontractions = ['do not', 'are not']
      const noncontraction = noncontractions.find(noncontraction => sentence.includes(noncontraction))
    
      if (noncontraction) {
        result.push({sentence, noncontraction})
      }
    
      return result
    }, [])
    
    console.log(result) // list of sentences that aren't contracted.

    【讨论】:

      猜你喜欢
      • 2019-12-16
      • 2020-09-18
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 2016-01-06
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多