【发布时间】:2017-06-24 15:01:18
【问题描述】:
我需要你的帮助社区,我已经编写了一个代码来反转一个函数,但问题是我无法检查回文,任何帮助将不胜感激。 这是反转字符串的代码
function reverseString(str) {
return str.split("").reverse().join("");
};
问题是如何检查回文我完全糊涂了。抱歉社区我想针对测试运行它并且它没有正确通过,这就是问题所在。 这是用 jasmine 编写的测试规范。
describe("Produce the reverse order of a word: ", function () {
describe("Case for en empty string", function() {
it("should return null for empty string", function() {
expect(reverseString('')).toEqual(null);
});
});
describe("Case for palindromes", function() {
it("should return true for `anna`", function() {
expect(reverseString('anna')).toEqual(true);
});
it("should return true for `NaN`", function() {
expect(reverseString('NaN')).toEqual(true);
});
it("should return true for `civic`", function() {
expect(reverseString('civic')).toEqual(true);
});
});
describe("Case for normal words", function() {
it("should return `skoob` for `books`", function() {
expect(reverseString('books')).toEqual('skoob');
});
it("should return `nomolos` for `solomon`", function() {
expect(reverseString('solomon')).toEqual('nomolos');
});
it("should return `csim` for `misc`", function() {
expect(reverseString('misc')).toEqual('csim');
});
});
});
这是一个朋友在 ECMA6 中编写的代码,它通过使用单个功能块来工作。我不想使用他的代码,所以我看起来不像抄袭猫,无论如何都违反规则,只想编写自己的代码。虽然我们仍然可以在 ECMA 5 中编写它
这是他的代码
const reverseString = (stringToReverse) => {
reversedString = "";
if (stringToReverse) {
for (i = String(stringToReverse).length; i >= 0; i--) {
reversedString += stringToReverse[i];
}
} else {
return null;
}
if (reversedString.substring(9) === stringToReverse) {
console.log(true);
return true;
}
return `${reversedString.substring(9)}`;
};
module.exports = reverseString;
【问题讨论】:
-
您已经在
palindrome函数中反转字符串。
标签: javascript reverse palindrome