gpt4 book ai didi

angular - 在 Angular/Typescript 中用整数和字母按字母顺序对数组进行排序

转载 作者:搜寻专家 更新时间:2023-10-30 21:19:38 26 4
gpt4 key购买 nike

我打算做什么

我尝试像这样对数组进行排序...

  • 1
  • 2
  • 2(a)
  • 2(b)
  • 2(b) #AsimpleName
  • 2(b) #NameWithN
  • 3
  • 4
  • 4(a)
  • ...

...在 Angular2 中。

我的当前代码

组件

this.streetDetailRef = this.afDatabase.list('data/users/' + this.currentUserID + '/territory/' + this.sStreet.parentKey + '/' + this.sStreet.key + '/houseNumbers/');
this.streetDetailData = this.streetDetailRef.snapshotChanges().map(changes => {
return changes.map(c => ({ key: c.payload.key, ...c.payload.val() })).sort();
});

我眼中的循环

<ion-item-sliding *ngFor="let house of streetDetailData | async | orderBy: 'number':false" #slidingItem>
<strong>{{ house.number }}</strong> ...

'number' 在这种情况下是没有字母的干净数字。我将这封信存储在一个单独的 firebase 条目中。但如果需要,肯定可以将它们存储在同一个地方。

附加信息:我正在使用 VadimDez 的 ngx-orderBy-pipe:https://github.com/VadimDez/ngx-order-pipe

当前结果

enter image description here

最佳答案

这个函数应该可以解决问题:

function sortData(array: Array<number | string>): Array<number | string> {
return array.sort((a, b) => a < b ? -1 : 1);
}

这里是使用示例:

const sorted = sortData(['4(a)', 4, 3, '2(b) #NameWithN', '2(b) #AsimpleName']); 
sorted // [ '2(b) #AsimpleName', '2(b) #NameWithN', 3, 4, '4(a)' ]

关于angular - 在 Angular/Typescript 中用整数和字母按字母顺序对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47743466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com