javascript - JavaScript:如果字符串在第一个字母中包含元音,则遍历字符串并返回字符串+'ay'
问题描述
我正在尝试运行一个执行猪拉丁语的函数。我被困在第一步。
当我将输入参数设置为'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 `${element}ay`
}
// 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')
解决方案
你有includes()
错误的论据。语法是container.includes(element)
,所以它应该是:
if (['a', 'e', 'i', 'o', 'u'].includes(element[0])) {
推荐阅读
- python - 在 for 循环数组中更新数组
- css - CSS:`min-height: min-content` 不适用于 `flex-row`
- rust - 如何交换可变引用的值,暂时获得所有权?
- javascript - 如何从每个 div 元素的 classList 中删除 CSS 类,并将所需的 CSS 类分配给 div 元素数组中的 div 元素?
- c++ - 在 C++ 中使用 cfenv 作为错误控制,使用 pow 作为 sqrt 的问题
- angular - SignalR 集线器在 WebSocket 握手期间返回错误:意外的响应代码:302 Net Core Angular 和 Azure
- angular - Angular *ngFor 缓存图像和数组过滤
- linux - Recursivley 转到以 *TEST* 开头的目录并仅保留最新的 5 个文件夹
- pointers - 在函数中声明共享指针会产生内存泄漏行为
- anylogic - 复制 e 以正确的顺序粘贴多个矩形节点