两个一位数组能否排序一个另一个跟着排序?

来源:7-22 数组排序sort()

小幼苗之旅

2015-12-16 09:59

有两个一维数组,第一个都是文字  第二个都是数字,用sort把第二个数组进行小到大的排序,如何让第一个数组随着第二个数组的排序跟着排序?

写回答 关注

4回答

  • 一毛钱
    2015-12-16 10:22:19
    已采纳

    你的意思我不是特别的明白,我是这样理解的

    function px() {
    				var array1=["一","二","三","四","五"];//这里的文字是随便起的
    				var array2 = [5, 4, 3, 2, 1];
    				var temp = 0;
    				var temp2="";
    				for (var i = 0; i < array2.length; i++) {
    					for (var j = 0; j < array2.length - i; j++) {
    						if (array2[j] > array2[j + 1]) {
    							temp = array2[j + 1];
    							array2[j + 1] = array2[j];
    							array2[j] = temp;
    							temp2=array1[j+1];
    							array1[j+1]=array1[j];
    							array1[j]=temp2;
    						}
    					}
    				}
    				console.log(array2);
    				console.log(array1);
    			}

    不知道这样理解你的问题是否正确

    小幼苗之旅

    可以大概解释一下吗?

    2015-12-16 11:09:10

    共 3 条回复 >

  • 一毛钱
    2015-12-16 13:13:21

    你确定你的数组2 是int 不是string类型 var array=[80,9,7,50];不是这样var array=["80","9","7","50"],如果是后者你需要转化成int,用parseInt()转化一下

    小幼苗之旅 回复一毛钱

    搞定了,对了 大神,怎样点击按钮的时候 怎样把所有数组都显示在一个DIV里面呢?还是换行显示的

    2015-12-16 20:03:56

    共 4 条回复 >

  • 一毛钱
    2015-12-16 11:37:54

    比较相邻的元素。如果第一个比第二个大,就交换他们两个。

    对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

    针对所有的元素重复以上的步骤,除了最后一个。

    持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。


    小幼苗之旅

    我发现出现问题了 比如 数组一定义:八十,九,七,五十 数组二定义:80,9,7,50, 那么拍出来的结果是 数组一: 五十,七,八十,九 数组二:50,7,80,9; 他们是按数字的第一位数去排列的,没考虑到数字的总体大小,这样怎么解决呢?

    2015-12-16 11:49:28

    共 1 条回复 >

  • 小幼苗之旅
    2015-12-16 10:57:37

    非常感谢,不过里面感觉很深奥,不是全懂

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题