var T="abcdefghijklmnopqrstuvwxyz";请问要如何实现从第一个字符开始,到T长度一半结束,隔一个字符对调,第一个跟最后一个对调,第三个跟倒数第三个对调。

解决方案 »

  1.   


    var T="abcdefghijklmnopqrstuvwxyz"; 
    T = T.split("").reverse().join("");alert(T);
      

  2.   

    for(var i=0;i<T.length/2;i++){
    if(i%2==0){
    ?????
    }
    }
    到一半结束应该是这样吧?
    强调的是隔一个字符对调,第一个跟最后一个对调,第三个跟倒数第三个对调。
      

  3.   

    清楚一点的来说,应该是在字符串的一半,如
    abcdefghijklm
    a和m对调
    c和k对调
      

  4.   


    var str = "abcdefghi";
    var indx = str.charAt(str.length/2);
    var reg = new RegExp("(\\w+)"+indx+"(\\w+)","g")
    str.match(reg)
    str2 = RegExp.$2.split("").reverse().join("") + indx +  RegExp.$1.split("").reverse().join("")
    alert(str2)
      

  5.   

    <script>
    var str='1234567890';
    var arr = str.split('')
    for(var i=0;i<str.length/2;i++)
    {
       if(arr[i]==arr[str.length-1-i]) break;
       if((i+1)%2)
       (arr[i]=(arr[i]+arr[str.length-1-i]))&&(arr[str.length-1-i]=arr[i].charAt(0))&&(arr[i]=arr[i].charAt(1))
    }
    alert(arr.join(""))
    </script>
    写的很烂  自娱自乐一下!~
      

  6.   

    var str = "abcdefghijklm";
    var arr = str.split("");
    for(var i=0;i<arr.length/2;i++)
    {
    if(i%2==0){
    var temp = arr[i];
    arr[i] = arr[arr.length-1-i];
    arr[arr.length-1-i] = temp;
    }
    }
    alert(arr.join(""));
      

  7.   


    var T = "abcdefghijklmnopqrstuvwxyz";var ary = T.split("");
    var o = { fs:[ary.pop,ary.shift,ary.shift,ary.pop], ds:[[],[]], x:1 };
    while (ary.length>0)
    o.ds[(++o.x)%2].push(o.fs[(o.x)%4].call(ary));
    T = o.ds[1].concat(o.ds[0].reverse()).join("");alert(T);