如何在JavaScript中不使用内置sort()和atoi方法对字符串数据类型的数组进行排序

文卡塔哈里

我正在尝试对下面给定的数组进行排序,而不将字符串转换为数字(没有atoi函数),也没有使用sort()内置函数

inputArr = [“ 1”,“ 2”,“ 10”,“ 3”,“ 21”,“ 15”]

let len = inputArr.length;
    for (let i = 0; i < len; i++) {
        for (let j = 0; j < len; j++) {
            if (inputArr[j] > inputArr[j + 1]) {
                let tmp = inputArr[j];
                inputArr[j] = inputArr[j + 1];
                inputArr[j + 1] = tmp;
            }
        }
    }
    return inputArr;

但是上面的代码没有按正确的顺序对数字进行排序

预期输出:[“ 1”,“ 2”,“ 3” ,,“ 10”,“ 15”,“ 21”]

助理罗巴图斯

您似乎通过使用BubbleSort来解决问题,因此尝试使用相同的算法提出解决方案。

问题是与你的比较。

你会看到

"1" < "10" === true

"2" < "10" === false

因此,您需要检查字符串的每个字符以确定该数字实际上是否较小。这是代码:

    const arr = ["1", "2", "10", "3", "21", "15"];
    const len = arr.length;

    const isGreater = (num1, num2) => {
        if (num1.length < num2.length) return false;
        for (let i = 0; i < len; ++i) {
           if(num1[i] === num2[i]) continue;
           return (num1[i] > num2[i]);
        }
        return false;
    }

    for (let i = 0; i < len; ++i) {
        for (let j = 0; j < len - i - 1; ++j) {
            if (arr[j].length > arr[j + 1].length || isGreater(arr[j], arr[j + 1])) {
                let tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }

    console.log(arr);

函数isGreater将为您进行检查。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++中对字符串使用atoi函数

来自分类Dev

如何在不使用任何内置php函数的情况下搜索字符串中的连续重复字符?

来自分类Dev

如何在iOS中对包含数字和名称的字符串数组进行排序

来自分类Dev

如何从字符串中检测数据类型?

来自分类Dev

如何在不使用字符串或数组的情况下按升序对整数进行排序?

来自分类Dev

如何使用Arrays.sort()按长度对字符串数组进行排序

来自分类Dev

如何在JavaScript中对包含字母和数字字符串的数组进行排序

来自分类Dev

如何在C ++中对同时包含负数和正数的字符串数组进行排序?

来自分类Dev

使用qsort和strcmp对字符串进行C排序的数组-警告:指针类型不兼容

来自分类Dev

按数据类型而不是来自AJAX的格式化字符串对DataTables中的列进行排序

来自分类Dev

使用std:sort对cpp中的字符串数组进行排序

来自分类Dev

从JavaScript中输入的字符串检查数据类型

来自分类Dev

不使用拆分方法对不在字符串数组中的字符串中的单词进行计数

来自分类Dev

CakePHP 2.4.4如何使用Hash :: sort按字符串键和值对多维数组进行排序?

来自分类Dev

Gridview排序方法-将数字作为字符串排序-如何更改数据类型

来自分类Dev

如何在不使用正则表达式的情况下使用javascript搜索数组中的字符串

来自分类Dev

如何在iOS中对包含数字和名称的字符串数组进行排序

来自分类Dev

如何在不使用“ rtrim”和“ substr”等内置函数的情况下从此字符串中删除最后一个逗号(,)

来自分类Dev

如何在不使用任何内置方法的情况下在Java中获取子字符串在字符串中的位置。

来自分类Dev

如何从字符串中检测数据类型?

来自分类Dev

如何在HIVE中隐藏字符串数据类型以更新日期数据类型?

来自分类Dev

如何在JavaScript中对包含字母和数字字符串的数组进行排序

来自分类Dev

如何在混合数据类型的数组中返回最短字符串?

来自分类Dev

如何在不使用 Hashmap 的情况下对字符串中的字符重新排序?

来自分类Dev

当我将字符串数组和整数数组合并到合并数组中时,我想在合并数组时使用什么数据类型

来自分类Dev

如何在swift 3中使用数组和字符串进行json

来自分类Dev

如何对零和一的字符串数组进行排序?

来自分类Dev

如何在不使用内置 c# 方法的情况下反转字符串

来自分类Dev

Sort 方法只对附加的字符串进行排序,而不是对最初在数组中的字符串进行排序

Related 相关文章

  1. 1

    如何在C ++中对字符串使用atoi函数

  2. 2

    如何在不使用任何内置php函数的情况下搜索字符串中的连续重复字符?

  3. 3

    如何在iOS中对包含数字和名称的字符串数组进行排序

  4. 4

    如何从字符串中检测数据类型?

  5. 5

    如何在不使用字符串或数组的情况下按升序对整数进行排序?

  6. 6

    如何使用Arrays.sort()按长度对字符串数组进行排序

  7. 7

    如何在JavaScript中对包含字母和数字字符串的数组进行排序

  8. 8

    如何在C ++中对同时包含负数和正数的字符串数组进行排序?

  9. 9

    使用qsort和strcmp对字符串进行C排序的数组-警告:指针类型不兼容

  10. 10

    按数据类型而不是来自AJAX的格式化字符串对DataTables中的列进行排序

  11. 11

    使用std:sort对cpp中的字符串数组进行排序

  12. 12

    从JavaScript中输入的字符串检查数据类型

  13. 13

    不使用拆分方法对不在字符串数组中的字符串中的单词进行计数

  14. 14

    CakePHP 2.4.4如何使用Hash :: sort按字符串键和值对多维数组进行排序?

  15. 15

    Gridview排序方法-将数字作为字符串排序-如何更改数据类型

  16. 16

    如何在不使用正则表达式的情况下使用javascript搜索数组中的字符串

  17. 17

    如何在iOS中对包含数字和名称的字符串数组进行排序

  18. 18

    如何在不使用“ rtrim”和“ substr”等内置函数的情况下从此字符串中删除最后一个逗号(,)

  19. 19

    如何在不使用任何内置方法的情况下在Java中获取子字符串在字符串中的位置。

  20. 20

    如何从字符串中检测数据类型?

  21. 21

    如何在HIVE中隐藏字符串数据类型以更新日期数据类型?

  22. 22

    如何在JavaScript中对包含字母和数字字符串的数组进行排序

  23. 23

    如何在混合数据类型的数组中返回最短字符串?

  24. 24

    如何在不使用 Hashmap 的情况下对字符串中的字符重新排序?

  25. 25

    当我将字符串数组和整数数组合并到合并数组中时,我想在合并数组时使用什么数据类型

  26. 26

    如何在swift 3中使用数组和字符串进行json

  27. 27

    如何对零和一的字符串数组进行排序?

  28. 28

    如何在不使用内置 c# 方法的情况下反转字符串

  29. 29

    Sort 方法只对附加的字符串进行排序,而不是对最初在数组中的字符串进行排序

热门标签

归档