angular - 以角度对树节点的子节点进行排序
问题描述
我有一个带有节点街道、城市、州、国家的角度树视图。
State 是 Country 的子节点,City 是 State 的子节点,依此类推。此外,每个节点都有自己的子节点。
例如:德国、法国、瑞典、挪威是国家节点中的值。点击德国将显示柏林、巴伐利亚、萨尔等州,进一步选择巴伐利亚将显示巴伐利亚的城市,然后选择城市将显示其街道。
但是,我无法对这些国家、州、城市和街道的列表进行排序。
该名称存储在一个名为 的变量中label
。我正在使用以下内容对数组进行排序。:
getNames(id: string): Observable<Name[]> {
return this.httpClient
.get(
this.environmentService.endpoints.<<--insert url here-->
)
.pipe(
map((data: any) => {
data.sort((a, b) => {
return a.Name > b.Name ? 1 : -1
})
return data
})
) as Observable<Name[]>
}
我用了类似的树
它重新洗牌,但不按字母顺序排序。
有没有办法按字母顺序对我的对象进行排序?
PS:我想在服务中排序,然后发给组件
解决方案
你能展示更多关于你如何排序的代码吗?您不需要使用管道映射,因为数组具有自己的本机排序功能。
sortFn(myArray: Array<any>, label: string) {
return myArray.sort((a, b) => {
if (a[label] < b[label]) return -1;
if (a[label] > b[label]) return 1;
return 0;
}
}
推荐阅读
- javascript - Firebase 使用 UID 获取身份验证详细信息
- selenium - 如何根据索引定位 Xpath 的特定节点?
- chef-infra - Chef - Mount - 如何添加持久性 (/p:yes)
- angular - 从角度 2 迁移到角度 6 后在运行时未检测到新更改
- mongodb - 无法创建对具有 NULL id mongo hibernate-mongo 和 spring boot 的对象的引用
- selenium - 验证所有验证消息
- django - django allauth 重定向问题调试
- javascript - 如何摆脱 `no-unused-expressions` eslint 错误,用于`&&`和`?:`用法?
- python - 用pyspark连接mysql
- api - Google Photos API - 身份验证