var dataArray:Array = [ 5, 6, 3, 8, 10, 11, 32, 2 ];
var dataObjectArray:Array [ { "uid": 5 }, { "uid": 6 .... Similar to above ... } ];
我在AS3中有以上2个数组。并且我希望按顺序对它们进行排序(1~X)[跳过不存在的那些]。对于dataArray / dataObjectArray来说,最好和最有效的方法是什么。
您可以解决1或两者=)
答案 0 :(得分:14)
你试过了吗?
dataArray.sort( Array.NUMERIC );
dataObjectArray.sortOn( ["uid"], [Array.NUMERIC]);
答案 1 :(得分:6)
令人惊讶的是,as3具有内置功能。</ p>
dataArray.sort(Array.NUMERIC);
dataObjectArray.sortOn("uid", Array.NUMERIC);
这将优雅地给出所需的效果:升序是默认的。数组文档包含其他详细信息,例如降序/等...如果提供了字段值,Lol sortOn甚至会对嵌套对象/数组进行排序。
答案 2 :(得分:0)
const email = "ragedog@hotmail.com";
const regex = new RegExp("(?=[a-z0-9@.!#$%&'*+\/=?^_`{|}~-]{6,254})(?=[a-z0-9.!#$%&'*+\/=?^_`{|}~-]{1,64}@)[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:(?=[a-z0-9-]{1,63}\.)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?=[a-z0-9-]{1,63})[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", "gm");
console.log(regex.test(email));
将自动识别您是否要对数字或字符串进行排序并对数组进行排序。 但是后来我做了一些愚蠢的事情。我的数组包含数字作为字符串,然后当它们是数字时,如果数字的位数不同,则排序效果不佳。 因此,成功的解决方案是一个很好的答案:
dataArray.sort();
如果您想要倒序(降序而不是升序),则在排序调用后:
dataArray.sort( Array.NUMERIC );
dataObjectArray.sortOn( ["uid"], [Array.NUMERIC]);
干杯!