我正在尝试用JavaScript编写一个算法,但我得到的str.length不是函数...
function extractMiddle(str) {
var position;
var length;
if(str.length() % 2 == 1) {
position = str.length() / 2;
length = 1;
} else {
position = str.length() / 2 - 1;
length = 2;
}
result = str.substring(position, position + length)
}
extractMiddle("handbananna");
答案 0 :(得分:4)
因为字符串长度不是函数,所以它是属性。
{{1}}
答案 1 :(得分:0)
这似乎解决了它!
function extractMiddle(str) {
var position;
var length;
if(str.length % 2 == 1) {
position = str.length / 2;
length = 1;
} else {
position = str.length / 2 - 1;
length = 2;
}
result = str.substring(position, position + length)
console.log(result);
}
答案 2 :(得分:0)
这是执行此操作的另一种方法:
function extractMiddle(str) {
return str.substr(Math.ceil(str.length / 2 - 1), str.length % 2 === 0 ? 2 : 1);
}
答案 3 :(得分:-1)
str.length是一个属性。只是摆脱括号。例如:
if (str.length == 44) {
答案 4 :(得分:-1)
length
是字符串的属性,而不是函数。这样做:
str.length % 2 === 1
此外,我建议使用===
而不是==
答案 5 :(得分:-1)
由于length不是函数,所以没必要用()。