Arrays 按降序或升序按数字字段对数组角度7排序

Arrays 按降序或升序按数字字段对数组角度7排序,arrays,angular,sorting,rxjs,angular7,Arrays,Angular,Sorting,Rxjs,Angular7,我需要帮助, 我需要按PendingQuantity字段对数组进行排序。我有负数和正数。 所以我的代码是: this.data.Products.sort(obj => obj.PendingQuantity); 所以我的数组 "Products": [ { "ProductCode": "MC30180", "Description": "Description_1",

我需要帮助, 我需要按PendingQuantity字段对数组进行排序。我有负数和正数。 所以我的代码是:

this.data.Products.sort(obj => obj.PendingQuantity);
所以我的数组

"Products": [
            {
                "ProductCode": "MC30180",
                "Description": "Description_1",
                "NationalCode": "N.C. 0965",
                "PendingQuantity": 20,
                "toBeScanned": true
            },
            {
                "ProductCode": "Name_2",
                "Description": "Description_2",
                "NationalCode": "N.C. 0382",
                "PendingQuantity": -3,
                "toBeScanned": false
            },
            {
                "ProductCode": "Name_3",
                "Description": "Description_3",
                "NationalCode": "N.C. 8913",
                "PendingQuantity": 25,
                "toBeScanned": false
            }
        ]
我要的订单是:

"Products": [
                {
                    "ProductCode": "MC30180",
                    "Description": "Description_1",
                    "NationalCode": "N.C. 0965",
                    "PendingQuantity": -3,
                    "toBeScanned": true
                },
                {
                    "ProductCode": "Name_2",
                    "Description": "Description_2",
                    "NationalCode": "N.C. 0382",
                    "PendingQuantity": 25,
                    "toBeScanned": false
                },
                {
                    "ProductCode": "Name_3",
                    "Description": "Description_3",
                    "NationalCode": "N.C. 8913",
                    "PendingQuantity": 20,
                    "toBeScanned": false
                }
            ]

您可以使用
数组的
排序
功能

products.sort((a,b)=> a['PendingQuantity'] - b['PendingQuantity']);

您可以使用
数组的
排序
功能

products.sort((a,b)=> a['PendingQuantity'] - b['PendingQuantity']);

您可以将其用于订单asc
product=product.sort((a,b)=>a.PendingQuantity-b.PendingQuantity)

如果您想按描述订购,请使用
product=product.sort((a,b)=>b.PendingQuantity-a.PendingQuantity)

更新:

如果显示自定义顺序,如-3、25、20,则可以处理排序条件

product = product.sort((a, b) => { if (a.PendingQuantity < 0) {return -1; } if (b.PendingQuantity <0 ) {return 1;} return b.PendingQuantity - a.PendingQuantity });
product=product.sort((a,b)=>{if(a.PendingQuantity<0){return-1;}if(b.PendingQuantity a.PendingQuantity-b.PendingQuantity);

product=product.sort((a,b)=>{if(a.PendingQuantity<0){return-1;}if(b.PendingQuantity您可以将此用于订单asc
product=product.sort((a,b)=>a.PendingQuantity-b.PendingQuantity);

如果您想按描述订购,请使用
product=product.sort((a,b)=>b.PendingQuantity-a.PendingQuantity);

更新:

如果显示自定义顺序,如-3、25、20,则可以处理排序条件

product = product.sort((a, b) => { if (a.PendingQuantity < 0) {return -1; } if (b.PendingQuantity <0 ) {return 1;} return b.PendingQuantity - a.PendingQuantity });
product=product.sort((a,b)=>{if(a.PendingQuantity<0){return-1;}if(b.PendingQuantity a.PendingQuantity-b.PendingQuantity);

product=product.sort((a,b)=>{if(a.PendingQuantity<0){return-1;}if(b.PendingQuantity上面给出的是升序,如果需要降序,请尝试:
product.sort((a,b)=>-(a.PendingQuantity-b.PendingQuantity))
Sorrry但是,您的脚本可以工作,但是结尾显示的负数是-3、25、20,有一种方法类似于顺序?上面会给出升序,如果您想要降序,请尝试:
product.sort((a、b)=>-(a.PendingQuantity-b.PendingQuantity))
Sorrry但是,您的脚本可以工作,但是负片的数字显示在最后,有一种方法可以让-3,25,20像一个顺序?我需要这样排序:-3第一,25秒,20第三个元素,负片在您的示例中处理?我需要这样排序:-3第一,25秒,20第三个元素,负片在您的示例中处理?