数组按照特定顺序排序问题

遇到数组按照特定顺序排序问题,比如查询出来的数组要按照特定的一个位置来放置时可以用到

例如:数组查询出来的为var var sortArr= ["3年","1年","2年"];,但是我们想让他an找standardArr= ["1年","2年","3年"]来排序,可以调用如下方法

sortCommon(sortArr,standardArr);

function sortCommon(sortArr,standardArr){    //sortArr为要进行排序数组,standardArr为排序模板
    var compare = function (obj1, obj2) {
        var obj1Value,obj2Value;
            standardArr.forEach(function(v,k){
                if (v == obj1) {
                    obj1Value = k;
                }else if (v == obj2) {
                    obj2Value = k;
                }
            })
        return obj1Value - obj2Value;
    }
    return sortArr.sort(compare);
}

时间: 2024-08-30 03:37:18

数组按照特定顺序排序问题的相关文章

二维数组去除特定键的重复项

<?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { //原始数据 /*Array ( [0] => Array ( [ap] => 23 [ac] => 569418 ) [1] => Array ( [ap] => 23 [ac] => 569520 ) [2] => Array ( [ap] => 23 [ac] => 569533 ) )*/ //除去重复值后的数据 /*

动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有

 1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_ #include<stdio.h> #include<stdlib.h> /************************************************************************/ /*数组的结构体类型                                                    */ /*******************

javascript如何将数组元素的顺序打乱

javascript如何将数组元素的顺序打乱:下面介绍一下如何将数组元素原有的顺序打乱,可能在实际编码中使用不是太频繁,不过也并非一无是处,下面就介绍一下如何实现此功能,代码实例如下: function mytest() { return 0.5-Math.random(); } var arr=[]; for(var i=0;i<100;i++) { arr[i]=i; } arr.sort(mytest) document.write(arr); 以上代码实现我们想要的功能,能够将数组中元素

将一个字符串数组的元素顺序时行反转

//练习:将一个字符串数组的元素顺序时行反转string[] names={"我","是","好人"};for(int i=0;i<names.Length/2;i++){ string temp=names[i]; names[i]=names[names.Length-1-i]; names[names.Length-1-i]=temp;}

定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> //定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数:然后按顺序每五个数求出一个平均值,放在另一个数组中并输出. var arr = []; var NewArr = []

调整数组中的顺序使奇数位于偶数前边

输入一个整数数组,实现一个函数来调整该数组中字数的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 可以用运两个指针,第一个指针初始化时指向数组的第一个数字,它指向后移动.第二个指针初始化时指向数组的最后一个数字,它只向前移动,两个指针相遇之前,第一个指针总是位于第二个指针前边. (1)当第一个指针指向奇数时向后移动,当第二个指针指向偶数时向前移动: (2)反之交换这两个数字: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h

利用数组创建的顺序表实现各种功能

主函数main.c #include "func.h" #define MAXSIZE 100 INT32 main( void ) { INT32 temp[MAXSIZE] = {NULL}, f = 0, OSM = 1; OSM = create_SL (temp); do { OSM = OSM_Printf("\n\t========================================\n"); OSM = OSM_Printf("

删除数组中特定的元素或者某一范围的元素

//删除顺序表中某范围的数 //删除顺序表中某范围的数 #include<iostream> #include<math.h> #include<string.h> using namespace std; typedef struct { int a[100]; int length; } Seqlist; int main() { bool del_s_t(Seqlist&L,int s,int t); Seqlist l; int i; for( i=0;

C#基于数组实现泛型顺序表

前方预警,不敢保证代码质量. 错误代码示例: 1 /// <summary> 2 /// 查找顺序表第i个位置的元素 3 /// 在显示情况中,我们更常用下标 4 /// </summary> 5 /// <param name="i"></param> 6 /// <returns></returns> 7 public T GetElemByIndex(int i) 8 { 9 //T temp = ; 10