我有一个数据集,我想将数组中包含的项目放在数据集的前面。
所以我正在尝试:
climate.sort(function(a, b) {
if (dotscountries.indexOf(a.country) > -1) {
return b - a
}
});
这不起作用。
我的数据如下所示(csv):
date,country,value1,value2,dataset,region,global
1991,France,6.702,0.239,intensity,eu,392.7922
1991,California,12.5,0.305,intensity,na,350.9
1991,Italy,7.343,0.282,intensity,eu,416.44257
1991,Japan,8.603,0.272,intensity,asia,1066.42158
1991,Brazil,1.617,0.407,intensity,sa,245.68986
1991,South Korea,6.226,0.656,intensity,asia,269.85239
1991,Germany,11.614,0.398,intensity,eu,928.95023
如何将项目放在数组中数据集的前面?
最佳答案
我认为,最好的选择是从数据集中过滤掉该数组中的项目,然后将它们连接到它的前面。
例如:
var removed = [];
climate = climate.filter(function(a) {
if(dotscountries.indexOf(a.country) > -1) {
removed.push(a);
return false;
}
return true;
});
// if you actually want climate sorted, then sort it now
climate.sort(cmp); removed.sort(cmp);
climate = removed.concat(climate);
这将对两部分进行独立排序,并将元素放在数组前面的
dotcountries
中。