翻转数组代码

 1     //翻转数组
 2     var arr = [1,2,3,4,5];
 3     console.log(arr);
 4     console.log(arr.reverse());//reverse()反转数组
 5 
 6     //1.遍历数组中的每一项。反向添加到一个新数组中。
 7     //2.原数组中的元素前后交换位置。
 8 
 9     //1.遍历数组中的每一项。反向添加到一个新数组中。
10     var arr = [1,2,3,4,5];
11     var newArray = [];
12     for(var i=0;i<arr.length;i++){
13         //反向添加
14         newArray[newArray.length] = arr[arr.length-1-i];//arr.length-1代表最大索引值。  而i是从0-最大索引值
15         //arr.length-1-i : 当i==0;代表倒数第一个。
16         //arr.length-1-i : 当i==1;代表倒数第二个。
17         //arr.length-1-i : 当i==2;代表倒数第三个。
18         //......
19         //arr.length-1-i : 当i==arr.length-1;代表正数第1个。(因为索引值为0)
20     }
21     console.log(arr);
22     console.log(newArray);

 

 1 //求一组数中的最大值和最小值,以及所在位置
 2     var arr1 = [20,-10,36,-5,70,80];
 3     var max = arr1[0];//两个值比较的时候,相互不影响
 4     var min = arr1[0];//两个值比较的时候,相互不影响
 5     //设置最大值和最小值的位置(索引值)
 6     var maxIndex = 0;//和上面的索引值保持一致
 7     var minIndex = 0;//和上面的索引值保持一致
 8     //for循环遍历每一项
 9     for(var i=0;i<arr1.length;i++){
10         //判断:如果大于最大值,小于最小值,就为某一项赋新值
11         if(max < arr1[i]){
12             max = arr1[i];//如果大于最大值,就把当前项赋值给最大值
13             //别忘记索引值
14             maxIndex = i;
15         }
16         if(min > arr1[i]){//如果小于最小值,就把当前项赋值给最小值
17             min = arr1[i];
18             //别忘记索引值
19             minIndex = i;
20         }
21     }
22     console.log(max);
23     console.log(min);
24     console.log(maxIndex);
25     console.log(minIndex);

 

转载于:https://www.cnblogs.com/sxd0425/p/6562352.html

### JavaScript 中翻转数组的方法 #### 使用 `reverse()` 方法 最简单的方式是使用内置的 `Array.prototype.reverse()` 方法来直接翻转整个数组。此方法会改变原始数组并将其元素顺序反转。 ```javascript let arr = [1, 2, 3, 4, 5]; arr.reverse(); console.log(arr); // 输出: [5, 4, 3, 2, 1] ``` 这种方法适用于快速操作不需要保留原有数据的情况[^2]。 #### 手动实现双指针交换算法 对于更深入的理解以及练习编程技巧,可以手动编写代码来进行数组内元素的位置互换而不创建新的数组: ```javascript function reverseArrayInPlace(arr) { let leftIndex = 0; let rightIndex = arr.length - 1; while (leftIndex < rightIndex) { // 交换两端的值 const temp = arr[leftIndex]; arr[leftIndex] = arr[rightIndex]; arr[rightIndex] = temp; ++leftIndex; --rightIndex; } } const myArr = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;]; reverseArrayInPlace(myArr); console.log(myArr); // ["d", "c", "b", "a"] ``` 这种方式不仅能够加深对基础概念的理解,而且有助于培养解决问题的能力[^5]。 #### 构建新数组存储结果 如果不希望影响到原来的数组,可以选择构建一个新的数组用于保存被翻转后的序列: ```javascript function getReversedCopy(originalArray) { var reversedCopy = []; for (var i = originalArray.length - 1; i >= 0; i--) { reversedCopy.push(originalArray[i]); } return reversedCopy; } let sourceArray = [7, 8, 9]; let newArray = getReversedCopy(sourceArray); console.log(newArray); // [9, 8, 7] console.log(sourceArray); // 原始数组保持不变 [7, 8, 9] ``` 这段代码展示了如何遍历原数组并将各元素按相反顺序加入到另一个列表中去[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值