JavaScript 数组:调整数组顺序使奇数位于偶数前面【两种方法,思路与知识点总结】

编程入门 行业动态 更新时间:2024-10-28 10:33:46

JavaScript <a href=https://www.elefans.com/category/jswz/34/1771288.html style=数组:调整数组顺序使奇数位于偶数前面【两种方法,思路与知识点总结】"/>

JavaScript 数组:调整数组顺序使奇数位于偶数前面【两种方法,思路与知识点总结】

描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

示例1
输入:[1,2,3,4] 返回值:[1,3,2,4]

示例2
输入:[2,4,6,5,7] 返回值:[5,7,2,4,6]

方法一:

思路:将奇数和偶数分别推入两个数组,最后再将数组相连

function reOrderArray( array ) {let arr1=[];let arr2=[];for(let i=0;i<array.length;i++){if(array[i]%2===0) arr1.push(array[i]);else arr2.push(array[i]);}return arr2.concat(arr1);
}

本题所用的知识点:
1. 数组长度:arr.length

2. Array对象的push()方法

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

arrayObject.push(newelement1,newelement2,....,newelementX)

参数说明:
newelement1 必需。要添加到数组的第一个元素。
newelement2 可选。要添加到数组的第二个元素。
newelementX 可选。可添加多个元素。

返回值
把指定的值添加到数组后的新长度。

说明
push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。

3. Array对象的concat()方法
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

arrayObject.concat(arrayX,arrayX,......,arrayX)

参数说明:
arrayX 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
返回值
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

arr1=[1,2,3];
arr2=[4,5,6];
console.log(arr1.concat(arr2));//[1,2,3,4,5,6]

方法二:sort()排序

function exchange (nums) {return nums.sort((a,b)=>b%2-a%2);
};

思路:利用sort()排序方法,sort(sortby)其中参数sortby是是一个可以自己写的比较函数。比较函数如下:

function(a,b){return ...
}

若,返回值大于0,则a,b位置交换,否则位置不交换。

更多推荐

JavaScript 数组:调整数组顺序使奇数位于偶数前面【两种方法,思路与知识点总结】

本文发布于:2023-07-28 21:56:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1331373.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   奇数   偶数   两种   知识点

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!