Javascript 如何按字母顺序对嵌套数组排序而不影响外部对象数组的顺序?

Javascript 如何按字母顺序对嵌套数组排序而不影响外部对象数组的顺序?,javascript,arrays,sorting,object,vue.js,Javascript,Arrays,Sorting,Object,Vue.js,我有一个名为“库存”的对象数组。每个库存对象都有一个order属性,我正在按升序进行数字排序。每个库存对象中都有一组车辆。在这个数组中存在一个模型属性,它也是一个数组 inventory: [ { category: American, order: 1, vehicles: [ { instock: 'yes', model: [ {

我有一个名为“库存”的对象数组。每个库存对象都有一个order属性,我正在按升序进行数字排序。每个库存对象中都有一组车辆。在这个数组中存在一个模型属性,它也是一个数组

    inventory: [
     {
       category: American,
       order: 1,
       vehicles: [
        {
          instock: 'yes',
          model: [
             {
               lang: 'en-US'
               title: 'mustang'
             }
          ]
        }
     ],
     [
        {
          instock: 'no',
          model: [
             {
               lang: 'en-US'
               title: 'viper'
             }
          ]
        }
     ],
     [
        {
          instock: 'yes',
          model: [
             {
               lang: 'en-US'
               title: 'camaro'
             }
          ]
        }
     ]


    }
   ]
我正在尝试编写一种方法,该方法根据“order”对库存数组进行总体排序,但根据模型数组中“title”属性的字母顺序对“vehicles”数组进行排序

到目前为止,我有这个方法,它只对“inventory”对象的顺序进行排序。我不确定是否可以以某种方式链接一个加法排序方法,然后对vehicles数组进行排序

 const sortedInventory = inventory.sort((a, b) => {
        if (a.order < b.order) return -1;
        if (a.order > b.order) return 1;
        return 0;
      })
const sortedInventory=inventory.sort((a,b)=>{
如果(a.订单b.订单)返回1;
返回0;
})

您可以在库存列表中循环,并对每个库存的车辆进行排序,而不会影响库存的初始顺序

更新 根据OP的评论进行编辑

for (const inv of inventory) {
     inv.vehicles.sort((a, b) => { 
             if (a.model[0].title < b.model[0].title) return 1;
             if (a.model[0].title > b.model[0].title) return -1;
             return 0;
         });
}
for(存货的常量库存){
库存车辆分类((a,b)=>{
if(a.model[0].titleb.model[0].title)返回-1;
返回0;
});
}

库存.车辆.排序(someFunction)
,完全相同,对外部数组没有影响。我是否链接另一种排序方法并向下搜索相应的数组?举个例子会有所帮助。
车辆
阵列完全独立于外部阵列;您必须遍历每个
库存
对象,并逐个对
车辆
数组进行排序;你不能同时对它们进行排序。这可能是因为我不明白你想要做什么。是的,这就是我想要完成的。你能补充一下预期的结果应该是什么样子吗。我实际上并没有尝试对模型数组进行排序。我试图根据标题的字母顺序对vehicles数组进行排序。IE车辆[i]。型号[0]。标题。。对于我的数据,模型数组中始终只有一个对象。但是,车辆数组中可能有多个对象。使用此设置获取“[object object]不可编辑”solution@LDB您的JSON似乎有错误。例如,在第16行打开一个数组,该行不是inventory对象的属性。确保
inventory
是一个正确的库存对象列表,并且上面的代码应该可以正常工作。我想编辑我最后的评论。这个解决方案有效,我已经接受了答案。