Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript在对象数组中排序字母数字值?_Javascript_Arrays_Sorting_Cordova 2.7.0 - Fatal编程技术网

使用javascript在对象数组中排序字母数字值?

使用javascript在对象数组中排序字母数字值?,javascript,arrays,sorting,cordova-2.7.0,Javascript,Arrays,Sorting,Cordova 2.7.0,我从数据库中得到一个字符串,一个对象数组字段,它包含如下值:dataarray=[{name:'xyz',id:'},{name:'abc',id:'DOC-TEMP-1'},{name:'efg',id:'},{name:'abc',id:'DOC TEMP-21'},{name:'abc',id:'jklm',id:'DOC TEMP-2'} 我想根据id对该数组进行排序,因此我尝试使用如下排序方法: dataarray.sort(function(a,b){

我从数据库中得到一个字符串,一个对象数组字段,它包含如下值:
dataarray=[{name:'xyz',id:'},{name:'abc',id:'DOC-TEMP-1'},{name:'efg',id:'},{name:'abc',id:'DOC TEMP-21'},{name:'abc',id:'jklm',id:'DOC TEMP-2'}

我想根据id对该数组进行排序,因此我尝试使用如下排序方法:

dataarray.sort(function(a,b){
                var a1 = a['id'].split('-');
                var b1 = b['id'].split('-');
                console.log('value in a1: '+a1);
                console.log('value in b1: '+b1);
                if(a1[2] =='' || a1[2]==null)
                {
                    a1[2] == 0;
                }if(b1[2]=='' || b1[2]==null)
                {
                    b1[2] == 0;
                }
                return a1[2]-b1[2];
            });
但它给了我不正确的结果

我想要的是,它应该首先显示空id,然后显示按编号排序的id


我该怎么做呢?

只是一个小错误,您使用的是“==”而不是“=”来在条件中赋值