今天遇到个问题,对于新手的我来说,感觉很纳闷,自定义排序方法毫无用处。找不着原因纠结了非常久,最后一一对比终于发现问题的所在。
var bands:Array = ['Adobe','BBC','Microsoft','The Apple','The Google','The kingdom'];
bands.sort(bandSort);
trace(bands);
function bandSort(band1:String,band2:String):int
{
band1 = band1.toLowerCase();
band2 = band2.toLowerCase();
if (band1.substr(0,4) == 'the')
{
band1 = band1.substr(4);
}
if(band2.substr(0,4) == 'the') //问题的原因为 'the '没加空格
{
band2 = band2.substr(4);
}
if (band1 < band2)
{
return -1;
}
else
{
return 1;
}
}