function f(n){ var arr = new Array(); for(var i = 0;i < n; i++){arr.push(i+1);} var ret = new Array(); for(;arr.length > 1;){ var toThrow = arr[0]; arr.splice(0,1); ret.push(toThrow); var toLast = arr[0]; arr.splice(0,1); arr.splice(arr.length,1,toLast); } ret.push(arr[0]); return ret; } console.log(f(7));
原文:http://blog.csdn.net/lan_liang/article/details/40152779