对JavaScript中除一个元素以外的数组进行排序 [英] Sort an array except one element in JavaScript
问题描述
我有一个数组,正在对其进行排序,但是我需要对除数组中一个元素之外的所有内容进行排序.
I have an array and I am sorting it but I need to sort everything except one element of my array.
我的数组是:
var Comparison = [
{key: "None", value: "None"},
{key:"Geographical Area", value:"Geographical_Area"},
{key:"Forests", value:"Forests"},
{key:"Barren Unculturable Land", value:"Barren_Unculturable_Land"},
{key:"Land put to Non agricultural use", value:"Land_put_to_Non_agricultural_use"},
{key:"Land Area", value:"Land_Area"},
{key:"Water Area", value:"Water_Area"},
{key:"Culturable Waste", value:"Culturable_Waste"},
{key:"Permanent Pastures", value:"Permanent_Pastures"},
{key:"Land under Tree Crops", value:"Land_under_Tree_Crops"},
{key:"Fallow Land excl Current Fallow", value:"Fallow_Land_excl_Current_Fallow"},
{key:"Current Fallow", value:"Current_Fallow"},
{key:"Total Unculturable Land", value:"Total_Unculturable_Land"},
{key:"Net Sown Area", value:"Net_Sown_Area"},
{key:"Gross Sown Area", value:"Gross_Sown_Area"},
{key:"Cropping Intensity", value:"Cropping_Intensity"} ];
我正在使用以下代码对该数组进行排序:
I am sorting this array using this code:
var Comparison_sort = this.Comparison.sort(function (a, b) {
if (a.key < b.key)
return -1;
if (a.key > b.key)
return 1;
return 0;
});
这对我的数组进行了完美排序,但是我希望其中一个元素位于顶部,这意味着我的元素None应该位于顶部,并对所有其他元素进行排序.
This is sorting my array perfectly, but I want one of my elements to be on top, meaning my element None should be on top and sort all other elements.
例如,我得到以下结果:
For example, I am getting this result:
{key: "Barren Unculturable Land", value: "Barren_Unculturable_Land"}
{key: "Cropping Intensity", value: "Cropping_Intensity"}
{key: "Culturable Waste", value: "Culturable_Waste"}
....
{key: "None", value: "None"}
但是我想要这样的结果:
But I want a result like this:
{key: "None", value: "None"}
{key: "Barren Unculturable Land", value: "Barren_Unculturable_Land"}
{key: "Cropping Intensity", value: "Cropping_Intensity"}
{key: "Culturable Waste", value: "Culturable_Waste"}
....
我看到了一个答案, 在TypeScript中排序数组 ,但我无法使用此答案解决我的问题.
I saw an answer, Sort array in TypeScript, but I was unable to use this answer to my problem.
推荐答案
var Comparison_sort = this.Comparison.sort(function (a, b) {
if(a.key == b.key) return 0;
if (a.key == 'None') return -1;
if (b.key == 'None') return 1;
if (a.key < b.key)
return -1;
if (a.key > b.key)
return 1;
return 0;
});
告诉定期进行排序,除非密钥为空,这意味着它必须先行."
tells "do a regular sort, except if the key is none which means it must go first."
这篇关于对JavaScript中除一个元素以外的数组进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!