数组奇数排序

简介: 数组奇数排序
You have an array of numbers.
Your task is to sort ascending odd numbers but even numbers must be on their places.
Zero isn't an odd number and you don't need to move it. If you have an empty array, you need to return it.
Example
sortArray([5, 3, 2, 8, 1, 4]) == [1, 3, 2, 8, 5, 4]

代码如下:

function sortArray(array) {
    var js = {},r=[];
    for (var i = 0, l = array.length; i < l; i++) {
        if (array[i] % 2) {
            js[i] = array[i];
            r.push(array[i]);
        }
    }
    r.sort(function(a,b){
        return a-b
    })
    var i=0;
    for(var k in js){
        array[k]=r[i++]
    }
    return array
}

测试:

console.log(sortArray([5, 3, 2, 8, 1, 4]));
console.log(sortArray([5, 3, 1, 8, 0]));

结果:

[ 1, 3, 2, 8, 5, 4 ]
[ 1, 3, 5, 8, 0 ]
目录
相关文章
【LeetCode】每日一题&&两数之和&&寻找正序数组的中位数&&找出字符串中第一个匹配项的下标&&在排序数组中查找元素的第一个和最后一个位置
【LeetCode】每日一题&&两数之和&&寻找正序数组的中位数&&找出字符串中第一个匹配项的下标&&在排序数组中查找元素的第一个和最后一个位置
|
算法
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
arr = [1,2,5,8,9,10,20,30,40] 有一个从小到大排序好的数组,现在输入一个数,要求按照原来的规律插入到数组中
115 0
|
7月前
给定一个长度为n的数组,请将数组中元素按照奇偶性重新划分,所有奇数靠左边,所有偶数靠右边,然后分别对奇数、偶数部分进行排序
给定一个长度为n的数组,请将数组中元素按照奇偶性重新划分,所有奇数靠左边,所有偶数靠右边,然后分别对奇数、偶数部分进行排序
72 1
|
1月前
将奇数数组与偶数数组合并为一个数组
【10月更文挑战第29天】将奇数数组与偶数数组合并为一个数组。
25 4
|
7月前
|
存储 C语言
【03】逆序数组
【03】逆序数组
|
7月前
|
人工智能
数组逆序
数组逆序
33 3
|
7月前
|
搜索推荐 C语言
整数排序
整数排序
wustojc4002三个整数排序
wustojc4002三个整数排序
45 0
|
算法
算法练习——(8)用下标排序
问题:给你n个无序的int整型数组arr,并且这些整数的取值范围都在0-20之间,要你在 O(n) 的时间复杂度中把这 n 个数按照从小到大的顺序打印出来。
1、 在一个排序的二维数组中,查找某个整数
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
84 0