gpt4 book ai didi

Javascript:回文函数?

转载 作者:行者123 更新时间:2023-11-30 16:42:38 27 4
gpt4 key购买 nike

我有一个简单的单词翻转器的工作代码:

var strFlip = function(str) {
return str.split(" ").map(function(word) {
return word.split("").reverse().join("");
}).join(" ");
};

console.log(strFlip("This is designed to swap the letter order of each word in the string"));

// "sihT si dengised ot paws eht rettel redro fo hcae drow ni eht gnirts"

我想添加一个 if/else 以允许此代码现在识别字符串中的每个单词是否为回文(向前和向后拼写相同,例如:hannah)。

所以我尝试继续 .map() 逻辑:

var strFlip = function(str) {
return str.split(" ").map(function(word) {
return word.split("").reverse().join("");
}).join(" ").toLowerCase().map(function(test) {
if (test.split(" ") === word){
return true;
}else{
return false;
}
}
);
};

console.log(strFlip("Hannah loves her racecar"));

但是......不出所料,它返回一个错误,本质上说明 if 部分之前的长链接函数集合本身不是一个函数:

TypeError: str.split(...).map(...).join(...).toLowerCase(...).map 不是函数

我在尝试匹配所有花括号时也迷路了,但我想我已经全部找到了。

那么,是否可以在其中添加 if/else?

最佳答案

.join("").toLowerCase() 返回字符串,而不是数组。错误表明 'some string'.map 不是函数,因为它是 undefined

如果你想要的是一个数组来指示索引处的单词是否是回文,那么...

var sentence = 'Eve drives a racecar',
words = sentence.split(" ").map(function(word) {
var isPalindrome = word.length > 1 && (word.toLowerCase() === word.toLowerCase().split("").reverse().join(""));
return { text: word, isPalindrome: isPalindrome };
});
alert(JSON.stringify(words));

关于Javascript:回文函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31709177/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com