如何解决如何在输出中包含来自 .some 的值?
我正在检查单词是否未在 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
“循环”中。
解决方法
使用 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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。