我有一个由几个数字组成的字符串。第一个数字是该行的编号,其余是该行中的编号。(数组,但字符串,种类)。问题是剩余数字未排序,我想找到一种最清晰的方式对它们进行排序,而无需创建新的List并对其中的所有内容进行排序。
String unsorted = '9, 12, 14, 11, 2, 10';
print(unsorted.sort()); // '9, 2, 10, 11, 12, 14'
答案 0 :(得分:0)
在使用Dart编程语言时,我并不十分有经验,但这就是我想出的。
void main() {
var unsorted = "9, 12, 14, 11, 2, 10";
var nums_int = unsorted.split(", ").map(int.parse).toList();
nums_int.sort();
for (var n in nums_int) {
stdout.write(n.toString() + ", ");
}
}
那应该给出预期的输出:“ 2,9,10,11,12,14”
希望这会有所帮助。
答案 1 :(得分:0)
如果要对数字进行排序,则不能避免转换为数字列表。
void main() {
print(sortNumString('9, 12, 14, 11, 2, 10')); // 2, 9, 10, 11, 12, 14
}
String sortNumString(String numString, [String separator = ', ']) =>
(numString.split(separator).map(int.parse).toList()..sort())
.join(separator);
..
的意思是返回上一个列表,因为sort返回void。