Javascript 按升序/降序对两个数组内的对象排序

Javascript 按升序/降序对两个数组内的对象排序,javascript,arrays,sorting,ecmascript-6,functional-programming,Javascript,Arrays,Sorting,Ecmascript 6,Functional Programming,所以我需要在这个数组中的fuel.name值中添加排序功能 const orders = [ { "_id":"5d14a31490fb1e0012a3d2d8-1", "orderId":"0JL5ORM0JT-1", "created":"2019-06-27T11:05:56.377Z", "createdDate":"2019-06-27T09:05:56.377Z", "offers":[ {

所以我需要在这个数组中的fuel.name值中添加排序功能

const orders = [  
  {  
    "_id":"5d14a31490fb1e0012a3d2d8-1",
    "orderId":"0JL5ORM0JT-1",
    "created":"2019-06-27T11:05:56.377Z",
    "createdDate":"2019-06-27T09:05:56.377Z",
    "offers":[  
       {  
          "price":95.27,
          "fuel":{  
             "_id":"5ce13948eaef5200113b0de8",
             "name":"Diesel B7",
             "description":"Diesel",
             "lpt":0,
             "duty":0,
             "type":"SPOT",
             "created":"2019-05-19T11:08:56.417Z"
            }
         },
         {
           "price": 95.27,
           "fuel": {
             "_id": "5ce13948eaef5200113b0de8",
             "name": "Petrol",
             "description": "Petrol",
             "lpt": 0,
             "duty": 0,
             "type": "SPOT",
             "created": "2019-05-19T11:08:56.417Z"
           }
         },
         {
           "price": 95.27,
           "fuel": {
             "_id": "5ce13948eaef5200113b0de8",
             "name": "Fossil Fuel",
             "description": "Fossil Fuel",
             "lpt": 0,
             "duty": 0,
             "type": "SPOT",
             "created": "2019-05-19T11:08:56.417Z"
           },
         }
      ]
   }
]
我希望“offers”对象根据“fuel.name”重新排序

当我将上面的日志记录在控制台上时,它只是以相同的顺序返回数据。我在下面设置了一个小提琴来复制我的问题


这是一个

您当前正在根据
提供的
数组中的第一项对
订单
数组进行排序。相反,您应该对每个对象的
提供的
数组进行
排序
orders

const orders=[{u id:“5d14a31490fb1e0012a3d2d8-1”,order id:“0JL5ORM0JT-1”,创建:“2019-06-27T11:05:56.377Z”,创建日期:“2019-06-27T09:05:56.377Z”,提供:[{{price:95.27,燃料:{u id:“5ce13948eaef5200113b0de8”,名称:“柴油B7”,说明:“柴油”,lpt:0,关税:0,类型:“现货”,创建:“2019-05-19T11:08,燃料:{u id:}“5ce13948eaef5200113b0de8”,名称:“汽油”,描述:“汽油”,lpt:0,责任:0,类型:“现货”,创建:“2019-05-19T11:08:56.417Z”},{价格:95.27,燃料:{id:“5ce13948eaef5200113b0de8”,名称:“化石燃料”,描述:“化石燃料”,lpt:0,责任:0,类型:“现货”,创建:“2019-05-19T11:08:56.417Z”};
orders.forEach(o=>
o、 offers.sort((a,b)=>a.fuel.name.localeCompare(b.fuel.name))
);

console.log(orders)
请发布一个,包括Javascript语法中的有效输入结构(问题中的代码不是有效的Javascript语法)这比@CertainPerformance更好吗?如果可以,请将您的实际代码作为文本编辑到您的问题中-只有代码的图像才能进行处理和调试。这会迫使那些愿意帮助您的人首先进行处理和调试,这是浪费时间的。我在@CertainPerformance下面添加了一把小提琴。您有一个打字错误。这是
localeCompare
and不是
localComapre
。您添加的小提琴没有再现您发布的错误。另外,您是否要对嵌套的
提供的
数组进行排序,或者根据
提供的[0].fuel.name
订单
数组进行排序?
orders.sort((a: any, b: any) => a.offers[0].fuel.name.toUpperCase().localCompare(b.offers[0].fuel.name))