【发布时间】:2023-03-15 06:40:01
【问题描述】:
我有 SWIFT 代码,其中我映射了一组具有相同数量元素的列表,其中 1 是一个整数列表,它们按降序映射。这是我的 SWIFT 代码...
class Video
{
let videoID: String
let rank: Int
let title: String
let imageString: String
init(videoID: String, rank: Int, title: String, imageString: String)
{
self.videoID = videoID
self.rank = rank
self.title = title
self.imageString = imageString
}
}
var videos = [Video]()
videos.sort { $0.rank < $1.rank }
self.vidTitleArray = videos.map { $0.title }
self.vidRankArray = videos.map { $0.rank }
self.vidIdArray = videos.map { $0.videoID }
self.vidImageArray = videos.map { $0.imageString }
这是我在 Flutter 中的位置,但我在前进时遇到了错误......
class videos{
String videoId;
int rank;
String title;
String imageString;
videos(this.videoId, this.rank, this.title, this.imageString);
}
如何从类构造函数中创建一个list,然后按降序重新排列映射到排名的所有元素?
***** 选项 *****
这是我的代码,没有使用 Video 类。我使用SplayTreeMap 对其进行了正确排名,但如果Value 始终相同,它只会带回1 个节点。有没有办法以Value 降序映射所有 4 个地图?
映射 myMap = event.data.snapshot.value; //存储每张地图
var titles = myMap.values;
List onesTitles = new List();
List onesIds = new List();
List onesImages = new List();
List onesRank = new List();
for (var items in titles) {
onesTitles.add(items['vidTitle']);
onesIds.add(items['vidId']);
onesImages.add(items['vidImage']);
onesRank.add(items['Value']);
}
names = onesTitles;
ids = onesIds;
numbers = onesRank;
vidImages = onesImages;
【问题讨论】:
-
我已经编辑了答案,以便更清楚地了解如何使用 List.sort()。
标签: list sorting dart element flutter