Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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/8/variables/2.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_Object - Fatal编程技术网

Javascript 重新排序数组

Javascript 重新排序数组,javascript,arrays,sorting,object,Javascript,Arrays,Sorting,Object,我不知道为什么排序在这种情况下不起作用: var articolo_generico = new Array(); var query_example= "select descrizione,quantita,prezzo from table"; query_sqlite(query_example, function (result) { var i = 0; for (var index in resul

我不知道为什么排序在这种情况下不起作用:

var articolo_generico = new Array();

 var query_example= "select descrizione,quantita,prezzo from table";

          query_sqlite(query_example, function (result) {

              var i = 0;
              for (var index in result) {

                    var obj = result[index];

                    //the object values are strings
                    articolo_generico[i] = {'descrizione': obj.descrizione, 'quantita': obj.quantita, 'prezzo': obj.prezzo};

                    i++;
                    }


              console.log("ARTICOLO GENERICO", articolo_generico);

              articolo_generico = articolo_generico.sort(function (a, b) {
                    return a.descrizione > b.descrizione;
              });

              console.log("ARTICOLO GENERICO AFTER SORTING", articolo_generico);

});
但在这种情况下,排序是有效的

var articolo_generico = new Array();
articolo_generico[0] = {'descrizione': 'pizza', 'quantita': 5, 'prezzo': 3.00};
articolo_generico[1] = {'descrizione': 'apfelstrudel', 'quantita': 5, 'prezzo': 3.10};
articolo_generico[2] = {'descrizione': 'mojito', 'quantita': 5, 'prezzo': 3.20};
articolo_generico[3] = {'descrizione': 'bacardi', 'quantita': 5, 'prezzo': 3.50};
articolo_generico = articolo_generico.sort(function(a,b) { return a.descrizione > b.descrizione });
console.log(articolo_generico);
链接:


差异在哪里?

可能是因为您的比较函数错误。如果a>b,则比较函数必须返回1;如果ab,则方法返回true;如果b.descripione)返回1,则方法返回false(0); 如果(a.descripione 有关更多详细信息,请参阅

articolo_generico.sort(function(a,b) {
    if (a.descrizione > b.descrizione) return 1;
    if (a.descrizione < b.descrizione) return -1;
    return 0;
});