[英]Issue to sort array in webkit browsers
在Webkit浏览器中对数组进行排序时遇到问题。 在firefox中,排序工作得很好,但在chrome或safari中,它仅对我的最后一个if()语句进行排序。 例如,在此代码中,它仅对以下块进行排序:(如果条件已测试并且可以正常工作)
if(printCategory == printCategoryTour)
{
function compare (a, b) {
return b.tour_naechtigungen - a.tour_naechtigungen
};
chartDataRegions.sort(compare);
pushValues();
}
关于此功能:
function chartDataSortArray()
{
arraySorted = [];
if(printCategory == printCategoryBev)
{
function compare (a, b) {
return b.bev - a.bev;
};
chartDataRegions.sort(compare);
pushValues();
}
if(printCategory == printCategoryWirt)
{
function compare (a, b) {
return b.wirt_unt_anzahl - a.wirt_unt_anzahl
};
chartDataRegions.sort(compare);
pushValues();
}
if(printCategory == printCategoryMob)
{
function compare (a, b) {
return b.mob_einpendler - a.mob_einpendler
};
chartDataRegions.sort(compare);
pushValues();
}
if(printCategory == printCategoryTour)
{
function compare (a, b) {
return b.tour_naechtigungen - a.tour_naechtigungen
};
chartDataRegions.sort(compare);
pushValues();
}
function pushValues()
{
for(i = 0; i<chartDataRegions.length; i++)
{
arraySorted.push(chartDataRegions[i])
}
}
嗯,我现在尝试了2个小时,但我没有使它正常工作! 有人找到问题了吗?
一次设置比较功能! 看起来更好,可以跨浏览器使用
function chartDataSortArray()
{
arraySorted = [];
function compare (a, b) {
if(printCategory == printCategoryBev)
{
return b.bev - a.bev;
}
if(printCategory == printCategoryWirt)
{
return b.wirt_unt_anzahl - a.wirt_unt_anzahl;
}
if(printCategory == printCategoryMob)
{
return b.mob_einpendler - a.mob_einpendler
}
if(printCategory == printCategoryTour)
{
return b.tour_naechtigungen - a.tour_naechtigungen
}
};
function pushValues()
{
for(i = 0; i<chartDataRegions.length; i++)
{
arraySorted.push(chartDataRegions[i])
}
}
chartDataRegions.sort(compare);
pushValues();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.