【发布时间】:2014-02-03 19:58:11
【问题描述】:
我是 Javascript 新手,并编写了以下代码来确定字符串是否为回文。我很好奇完成相同任务的最有效方法是什么。
var isPalindrome = function (string) {
var leftString = [];
var rightString = [];
// Remove spaces in the string and convert to an array
var strArray = string.split(" ").join("").split("");
var strLength = strArray.length;
// Determine if the string is even or odd in length, then assign left and right strings accordingly
if (strLength % 2 !== 0) {
leftString = strArray.slice(0, (Math.round(strLength / 2) - 1));
rightString = strArray.slice(Math.round(strLength / 2), strLength);
} else {
leftString = strArray.slice(0, (strLength / 2));
rightString = strArray.slice((strLength / 2, strLength))
}
if (leftString.join("") === rightString.reverse().join("")) {
alert(string + " is a palindrome.");
} else {
alert(string + " is not a palindrome.")
}
}
isPalindrome("nurses run");
【问题讨论】:
-
Firebug 有 javascript 分析工具。尝试几种不同的方法,看看你能获得什么性能。
-
如果您关心性能,请搜索“jsperf palindrome”,您会看到类似this
-
这听起来像是家庭作业。 :)
标签: javascript