剑指offer13-调整数组顺序使奇数位于偶数前面
题目描述
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
const reOrderArray = array => {
const jishu = [];
const oushu = [];
array.forEach(function(item){
if(item % 2 === 0) oushu.push(item);
else jishu.push(item);
});
return jishu.concat(oushu);
};
本题类型:数组
知识点:
- array.forEach()
array.forEach(function(item, index, array){
//
})
对数组中的每一项运行给定函数,这个方法没有返回值。传入的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。
- array.concat()
arrayObject.concat(arrayX,arrayX,......,arrayX)
concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
解析:
利用数组的forEach方法判断每个数是不是偶数,分别存入不同的数组,最后将两个数组连接起来。