将包含某个字符串值的元素排序到打字稿数组内的其他位置

问题描述 投票:0回答:1

对于那些已经回答并阅读了我之前的问题的人,感谢是极大的。这个问题是跟进的。

现在我有以下代码段

public async personNews(serviceBranch?: string[]): Promise<INews> { const fetchResult: IPersonNewsFetchResultEntry[] = await this._get('api/person/news/', newsSchema, true) as IPersonNewsFetchResultEntry[]; const serviceBranches: string[] = fetchResult.filter((entry, index, array) => { return array.findIndex(({unitID}) => entry.unitID === unitID) === index; }).map(entry => entry.unitID);

我希望将serviceBranch包含在我的过滤器中,以使新创建的数组中的元素将serviceBranch参数放在顶部或自己选择的位置。因此,举例来说,现在我的数组看起来像[TRY,PLO,OMO,MNY,WER,TQA,MNB]。serviceBranch参数将为WER,因此我希望我的数组为[TRY,WER,OMO,MNY等...]最重要的部分是将该元素移至顶部3。

对我来说,达到此结果的最佳方法是什么。我一直在寻找排序功能,但我读过的书都没有给我想要的结果。预先感谢。

对于那些已经回答并阅读了我之前的问题的人,感谢是极大的。这个问题是跟进的。现在我有以下摘要公共异步personNews(serviceBranch ?: ...

arrays typescript sorting typescript2.0
1个回答
0
投票

我不知道这是否是“最佳”方法,但是一种直接的方法是使用数组的findIndex()方法找到您要移动的项目,然后使用findIndex()方法两次以将元素删除并重新插入您关心的位置。这是一个可能的实现:

© www.soinside.com 2019 - 2024. All rights reserved.