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
提交
取消