排序嵌套数组对象

时间:2019-01-22 18:02:37

标签: arrays angular typescript sorting

我正在尝试对嵌套数组进行排序,并遇到了一个问题。如果指定了索引,我就可以正常工作了……需要遍历所有值

数组

items= [{
    app_type_id: 1,
    apps: [{

          app_id: 3,
          app_type_id: 1,
          app_name: "Test1"

        },
        {
          app_id: 2,
          app_type_id: 1,
          app_name: "Test2"

        },
        {
          app_id: 107,
          app_type_id: 1,
          app_name: "Test3"
        }
      }]
  }]

TS

this.iarray[0].apps.sort((a, b) => a.app_name[0] > b.app_name[1] ? 1 : -1)

以上仅适用于前两个项目。实际上,该数量可能会更大(动态)应用程序数量。如何更改它以对所有应用程序进行排序

1 个答案:

答案 0 :(得分:0)

我认为错误是您应该比较app_name值,但实际上是在比较第一个和第二个字符。

您的代码(应该是)应该是:

items.apps.sort((a, b) => a.app_name > b.app_name ? 1 : -1)