【发布时间】:2015-01-13 08:08:27
【问题描述】:
我想按字母顺序对表格进行排序。数字除外。
下面的代码显示了如何使用比较器功能对表格进行排序:
function( a,b ) return a.N < b.N end
给我:
obj = {
[1] = {
["N"] = "Green 1";
};
[2] = {
["N"] = "Green 11";
};
[3] = {
["N"] = "Green 2";
};
[4] = {
["N"] = "Red 1";
};
}
但我希望它像这样排序:
obj = {
[1] = {
["N"] = "Green 1";
};
[2] = {
["N"] = "Green 2";
};
[3] = {
["N"] = "Green 11";
};
[4] = {
["N"] = "Red 1";
};
}
有可能吗?
【问题讨论】:
-
在排序之前从键中删除所有数字?只对第一个词排序?等等。如果您的表很大,或者您打算这样做,通常保留您生成的“排序键”的缓存也是一个好主意。