代码实现
第一种_第三方变量的形式交换:
<script>
var arr = [10,20,30,40,50];
for(var i = 0; i<parseInt(arr.length/2);i++){
var num = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length-i-1] = num;
}
console.log(arr);//控制台结果 [50,40,30,20,10]
</script>
以下两种方式仅限于数字类型
第二种方式_不采用第三方变量交换:
<script>
var arr = [10,20,30,40,50];
for(var i = 0; i<parseInt(arr.length/2);i++){
arr[i] = arr[arr.length-i-1] + arr[i];
arr[arr.length-i-1] = arr[i] - arr[arr.length-i-1];
arr[i] = arr[i] - arr[arr.length-i-1] ;
}
console.log(arr);//控制台[50,40,30,20,10]
</script>
第三种方式_位运算:效率最高
<script>
var arr = [10,20,30,40,50];
for(var i = 0; i<parseInt(arr.length/2);i++){
arr[i] = arr[i] ^ arr[arr.length-i-1];
arr[arr.length-i-1] = arr[i] ^ arr[arr.length-i-1];
arr[i] = arr[i] ^ arr[arr.length-i-1];
}
console.log(arr);
</script>
必须 注册 为本站用户, 登录 后才可以发表评论!