function assertEquals(s){ var arr=s.split('');if(arr.length<=2){return s}else{var b=arr.legth%2if(b==0){return arr[arr.length/2-1]+arr[arr.length/2];}else{ arr[Math.floor(arr.length/2)] }}}我想实现返回函数给定的字符串变量 如果字符串字母偶数个 返回中间两个,如:assertEquals(abcdef) 返回cd如果函数字符串字母奇数个 返回中间的一个 如 assertEquals(abcde) 返回c
2 回答
已采纳
qq_青枣工作室_0
TA贡献446条经验 获得超754个赞
你的错误:
var b=arr.legth%2 // 这里的lenth拼写错误,应该是length
arr[Math.floor(arr.length/2)] // 这里缺少return。
修正后:
function assertEquals(s){
var arr=s.split('');
if(arr.length<=2){
return s
}else{
var b=arr.length%2
if(b==0){
return arr[arr.length/2-1]+arr[arr.length/2];
}else{
return arr[Math.floor(arr.length/2)]
}
}
}再看我写的,
<script>
function assertEquals(s){
var middle = parseInt(s.length/2),
isEven = s.length%2==0;
return s.substr(isEven?middle-1:middle, isEven?2:1);
}
</script>添加回答
举报
0/150
提交
取消
