js 实现数组数字奇偶归类

如:[1,2,3,4,5,6,7,8] => [1,7,3,5,4,6,2,8],讲奇数放在数组前面部分,偶数放在数组后面部分。

实现方法一:

var a = [1,2,3,4,5,6,7,8];
a.sort(function(x){
    if(x % 2 === 0) return 1;
});

实现方法二:

var a = [1,2,3,4,5,6,7],m = a.length;

for(var i = 0; i < m; i++){
    var t = a[i];
    if(t % 2 === 0){        
        for(var j = m - 1; j > i; j--){
            if(a[j] % 2 !== 0){
                a[i] = a[j];
                a[j] = t;
                m--;
                break;
            }
        }
    }
}

方法二虽然实现了,但总是觉得有些冗余,而且跟方法一的结果有些出入,期待高人更优算法回复。。。

原文地址:https://www.cnblogs.com/jackliu6/p/3707174.html