问答详情
源自:7-22 数组排序sort()

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

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

提问者:小幼苗之旅 2015-12-16 09:59

个回答

  • 一毛钱
    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 13:13:21

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

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

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

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

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

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


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

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