问题描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
思路分析:新创建2个数组,分别存放奇数和偶数,最后再拼接即可。
for循环遍历
function reOrderArray(array)
{
var arr1=[];
var arr2=[];
for(var i=0;i<array.length;i++){
if(array[i]%2==0){
arr1.push(array[i]);
}else{
arr2.push(array[i])
}
}
return arr2.concat(arr1);
}
map函数:
function reOrderArray(array)
{
var arr1=[];
var arr2=[];
array.map(function(a){
a%2==0?arr1.push(a):arr2.push(a);
})
return arr2.concat(arr1);
}
forEach函数:
function reOrderArray(array){
var result = [];
var even = [];
array.forEach(function(item){
if((item & 1) === 1){
result.push(item);
} else {
even.push(item);
}
});
return result.concat(even);
}