JavaScript:如果字符串在第一个字母中包含元音,则遍历字符串并返回字符串+'ay'
Posted
技术标签:
【中文标题】JavaScript:如果字符串在第一个字母中包含元音,则遍历字符串并返回字符串+\'ay\'【英文标题】:JavaScript: Loop through string and return string + 'ay' if string contains vowel in first letterJavaScript:如果字符串在第一个字母中包含元音,则遍历字符串并返回字符串+'ay' 【发布时间】:2019-10-10 09:07:21 【问题描述】:我正在尝试运行一个执行猪拉丁语的函数。我被困在第一步。
当我设置输入参数等于'eat' => 我希望我的代码返回字符串加上'ay'。请参阅下面的代码以了解 if 语句。
相反,当我运行我的代码时,它返回未定义。我希望它返回“eatay”。为什么?
// Pig Latin
const pigify = (str) =>
let sentSplit = str.split(' ')
//console.log(sentSplit)
for (let i=0; i<sentSplit.length; i++)
//console.log(sentSplit[i])
let element = sentSplit[i]
console.log(element[0])
if (element[0].includes('a', 'e', 'i', 'o', 'u'))
return `$elementay`
// else if (!str[0].includes('a', 'e', 'i', 'o', 'u') && !str[1].includes('a', 'e', 'i', 'o', 'u'))
// return `$str.slice(2)$str.slice(0,2)ay`
//
// else if(!str[0].includes('a', 'e', 'i', 'o', 'u'))
// return `$str.slice(1)$str[0]ay`
//
pigify('eat')
【问题讨论】:
再次阅读文档以获取包含developer.mozilla.org/en-US/docs/Web/javascript/Reference/… 【参考方案1】:您对includes()
的参数有误。语法是container.includes(element)
,所以应该是:
if (['a', 'e', 'i', 'o', 'u'].includes(element[0]))
【讨论】:
成功了!但现在我在不包含时遇到了困难。不包括以下内容: if (['a', 'e', 'i', 'o', 'u'].includes(!element[0])) 你把!
放在整个表达式之前:!['a', 'e', 'i', 'o', 'u'].includes(element[0])
谢谢您的原始建议和!展示位置成功!【参考方案2】:
JavaScript 本身提供了函数“includes”和“charAt”。可以使用 str.charAt(0) 代替将字符串拆分为字符数组并查找第一个元素。并包含函数搜索数组并在任何元素匹配时返回 true。
const pigify = (str) =>
if(['a', 'e', 'i', 'o', 'u'].includes(str.charAt(0)))
return str+'ay';
【讨论】:
一些解释此代码如何回答 OP 问题的词语将使您的答案更有用。以上是关于JavaScript:如果字符串在第一个字母中包含元音,则遍历字符串并返回字符串+'ay'的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2008 查询以查找列中包含非字母数字字符的行