0

我从数据库中获取一个字符串,一个对象字段数组,其中包含如下值:dataarray=[{name:'xyz',id:' '},{name:'abc',id:'DOC-TEMP-1'},{name:'efg',id:''},{name:'abc',id:'DOC-TEMP-21'},{name:'abc',id:''},{name:'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。

我怎样才能做到这一点 ?

4

1 回答 1

0

只是一个小错误,您使用 '==' 而不是 '=' 在条件内分配值。

于 2014-03-19T12:04:03.593 回答