我有这个家庭作业问题而我无法找到一个好的检查方法。我已经走下了indexOf和string.repeat()的路径,但只是没有得到问题所在。我可以做一个reg ex,但因为这是基本的javascript我想知道怎么做而不去那里。
问题: 编写一个名为repeats的函数,如果是上半部分则返回true 字符串等于后半部分,如果不是
,则为false示例:
如果你传递它“haha”那么它应该返回true,因为“ha”(前半部分)等于 “哈”(下半场) 如果你传递它“yay”那么它应该返回false,因为它很奇怪 如果你传递它“heehaw”然后它应该返回false因为“hee”不等于“haw” * /
这是我在循环和方法的许多尝试后到目前为止所做的:
var stringEq = "haha";
var stringNoEq = "heehaw";
function stringEqual(string) {
if (string.length % 2 !== 0) {
return false;
}
else{
string.length /2
}
}
stringEqual(stringEq)
任何帮助表示感谢。
答案 0 :(得分:0)
function stringEqual(myString) {
if (myString.length % 2 != 0) {
return false;
}
var firstHalf = myString.substr(0, myString.length/2);
var secondHalf = myString.substr(myString.length/2);
return firstHalf == secondHalf;
}
答案 1 :(得分:0)
function halfStringAreEqual(string str){
if (str.length % 2 != 0)
return false;
var half = str.length / 2;
return str.substr(0, half) == str.substr(half, str.length - half);
}