Javascript 如何按字母顺序对数组排序?

Javascript 如何按字母顺序对数组排序?,javascript,arrays,json,node.js,Javascript,Arrays,Json,Node.js,我正在使用node.js。我想按名称对该数组进行排序,其格式如下: [["Kingston upon Thames",36.9],["Croydon",36.8],["Bromley",40.1],["Hounslow",35.4],["Ealing",35.9],["Havering",40.3],["Hillingdon",36.2],["Harrow",37.9],["Brent",35.4],["Barnet",37.1],["Lambeth",34.2],["Southwark",34

我正在使用node.js。我想按名称对该数组进行排序,其格式如下:

[["Kingston upon Thames",36.9],["Croydon",36.8],["Bromley",40.1],["Hounslow",35.4],["Ealing",35.9],["Havering",40.3],["Hillingdon",36.2],["Harrow",37.9],["Brent",35.4],["Barnet",37.1],["Lambeth",34.2],["Southwark",34.1],["Lewisham",34.8],["Greenwich",34.9],["Bexley",38.9],["Enfield",36.1],["Waltham Forest",34.7],["Redbridge",35.7],["Sutton",38.6],["Richmond upon Thames",38.5],["Merton",36.4],["Wandsworth",34.8],["Hammersmith and Fulham",35.4],["Kensington and Chelsea",38.9],["Westminster",37.4],["Camden",36],["Tower Hamlets",31.2],["Islington",34.6],["Hackney",32.8],["Haringey",34.8],["Newham",31.7],["Barking and Dagenham",32.9],["City of London",41.9]]

我想像[“Barking and Dagenham”,32.9],“Barnet”,37.1],“Bexley”,38.9]等那样对它进行排序

只需取你喜欢应用排序的元素

array.sort(function (a, b) {
    return a[0].localeCompare(b[0]);
});
工作示例:

var数组=[[“泰晤士河上的金斯顿”,36.9],“克罗伊登”,36.8],“布罗姆利”,40.1],“霍恩斯洛”,35.4],“伊林”,35.9],“哈林顿”,36.2],“哈罗”,37.9],“布伦特”,35.4],“巴奈特”,37.1],“兰贝思”,34.2],“南华克”,34.1],“路易沙姆”,34.8],“格林威治”,34.9],“贝克斯利”,38.9],“恩菲尔德”,36.1],“沃尔瑟姆森林”,35.7],“雷德布里奇”,[“萨顿”,38.6],“泰晤士河上的里士满”,38.5],“默顿”,36.4],“旺兹沃思”,34.8],“哈默史密斯和富勒姆”,35.4],“肯辛顿和切尔西”,38.9],“威斯敏斯特”,37.4],“卡姆登”,36],“塔楼哈姆雷特”,31.2],“伊斯林顿”,34.6],“哈克尼”,32.8],“哈林盖”,34.8],“纽厄姆”,31.7],“巴金和达根汉姆”,32.9],“伦敦城”,41.9];
array.sort(函数(a,b){
返回a[0]。localeCompare(b[0]);
});

write(“”+JSON.stringify(数组,0,4)+“”)只需获取要应用排序的元素

array.sort(function (a, b) {
    return a[0].localeCompare(b[0]);
});
工作示例:

var数组=[[“泰晤士河上的金斯顿”,36.9],“克罗伊登”,36.8],“布罗姆利”,40.1],“霍恩斯洛”,35.4],“伊林”,35.9],“哈林顿”,36.2],“哈罗”,37.9],“布伦特”,35.4],“巴奈特”,37.1],“兰贝思”,34.2],“南华克”,34.1],“路易沙姆”,34.8],“格林威治”,34.9],“贝克斯利”,38.9],“恩菲尔德”,36.1],“沃尔瑟姆森林”,35.7],“雷德布里奇”,[“萨顿”,38.6],“泰晤士河上的里士满”,38.5],“默顿”,36.4],“旺兹沃思”,34.8],“哈默史密斯和富勒姆”,35.4],“肯辛顿和切尔西”,38.9],“威斯敏斯特”,37.4],“卡姆登”,36],“塔楼哈姆雷特”,31.2],“伊斯林顿”,34.6],“哈克尼”,32.8],“哈林盖”,34.8],“纽厄姆”,31.7],“巴金和达根汉姆”,32.9],“伦敦城”,41.9];
array.sort(函数(a,b){
返回a[0]。localeCompare(b[0]);
});
write(“”+JSON.stringify(数组,0,4)+“”)使用

a=[“泰晤士河上的金斯敦”,36.9],“克罗伊登”,36.8],“布罗姆利”,40.1],“霍恩斯洛”,35.4],“伊林”,35.9],“哈林顿”,36.2],“哈罗”,37.9],“布伦特”,35.4],“巴奈特”,37.1],“兰贝思”,34.2],“南华克”,34.1],“路易斯汉姆”,34.8],“格林威治”,34.9],“贝克斯利”,38.9],“恩菲尔德”,36.1],“沃尔瑟姆森林”,34.7],“雷德布里奇”,35.7][“萨顿”,38.6;“泰晤士河上的里士满”,38.5;“默顿”,36.4;“旺兹沃思”,34.8;“哈默斯密斯和富勒姆”,35.4;“肯辛顿和切尔西”,38.9;“威斯敏斯特”,37.4;“卡姆登”,36;“塔楼哈姆雷茨”,31.2;“伊斯灵顿”,34.6;“哈克尼”,32.8;“哈林基”,34.8;“纽厄姆”,31.7;“巴金和达根汉姆”,32.9;“伦敦城”,41.9];
a、 排序(功能(a、b){
var aName=a[0].toLowerCase();
var bName=b[0].toLowerCase();
返回((aNamebName)?1:0));
});
console.log(a);
使用

a=[“泰晤士河上的金斯敦”,36.9],“克罗伊登”,36.8],“布罗姆利”,40.1],“霍恩斯洛”,35.4],“伊林”,35.9],“哈林顿”,36.2],“哈罗”,37.9],“布伦特”,35.4],“巴奈特”,37.1],“兰贝思”,34.2],“南华克”,34.1],“路易斯汉姆”,34.8],“格林威治”,34.9],“贝克斯利”,38.9],“恩菲尔德”,36.1],“沃尔瑟姆森林”,34.7],“雷德布里奇”,34.7],“雷德布里奇”萨顿,38.6分;《泰晤士河上的里士满》,38.5分;《默顿》,36.4分;《旺兹沃思》,34.8分;《哈默史密斯和富勒姆》,35.4分;《肯辛顿和切尔西》,38.9分;《威斯敏斯特》,37.4分;《卡姆登》,36分;《塔楼哈姆雷茨》,31.2分;《伊斯灵顿》,34.6分;《哈克尼》,32.8分;《哈林奇》,34.8分;《纽厄姆》,31.7分;《巴金和达根汉姆》,32.9分;《伦敦城》,41.9分];
a、 排序(功能(a、b){
var aName=a[0].toLowerCase();
var bName=b[0].toLowerCase();
返回((aNamebName)?1:0));
});

console.log(a);
这种方法可能效率不高,但可以满足您的需要

var myArray=[[“泰晤士河上的金斯敦”,36.9],“克罗伊登”,36.8],“布罗姆利”,40.1],“霍恩斯洛”,35.4],“伊林”,35.9],“哈林顿”,36.2],“哈罗”,37.9],“布伦特”,35.4],“巴奈特”,37.1],“兰贝思”,34.2],“南华克”,34.1],“莱维萨姆”,34.8],“格林威治”,34.9],“贝克斯利”,38.9],“恩菲尔德”,36.1],“沃尔瑟姆”,“雷德布里奇”,34.7],“雷德布里奇”“,”35.7“,”萨顿“,”38.6“,”泰晤士河上的里士满“,”38.5“,”默顿“,”旺兹沃斯“,”34.8“,”哈默史密斯和富勒姆“,”肯辛顿和切尔西“,”38.9“,”威斯敏斯特“,”37.4“,”卡姆登“,”塔哈姆雷特“,”伊斯林顿“,”34.6“,”哈克尼“,”32.8“,”哈林奇“,”34.8“,”纽厄姆“,”31.7“,”巴金和达根汉姆“,”32.9“,”伦敦城“,”41.9]]
//将数组数组转换为单个json对象
var _tempArray=[];
对于(变量i=0;ib.name?1:-1
})
控制台日志(Darray);

对于工作模式

,这种方法可能效率不高,但可以满足您的需要

var myArray=[[“泰晤士河上的金斯顿”,36.9],“克罗伊登”,36.8],“布罗姆利”,40.1],“霍恩斯洛”,35.4],“伊林”,35.9],“哈林顿”,36.2],“哈罗”,37.9],“布伦特”,35.4],“巴内”,37.1],“兰贝思”,34.2],“南华克”,34.1],“路易斯汉姆”,34.8],“格林威治”,34.9],“贝克斯利”,38.9],“恩菲尔德”,36.1],“沃尔瑟姆”,34.7],“雷德布里奇”,35.7],“萨顿”,38.6],“泰晤士河上的里士满”,38.5],“默顿”,36.4],“旺兹沃思”,34.8],“哈默斯密斯和富勒姆”,35.4],“肯辛顿和切尔西”,38.9],“威斯敏斯特”,37.4],“卡姆登”,36],“塔楼哈姆雷特”,31.2],“伊斯林顿”,34.6],“哈克尼,32.8],“哈林奇”,34.8],“纽汉姆,31.7],“巴金和达根汉姆”,32.9],“伦敦城”,41.9]]
//将数组数组转换为单个json对象
var _tempArray=[];
对于(变量i=0;ib.name?1:-1
})
控制台日志(Darray);

对于工作模型

它表示error
返回a[0].localeCompare(b[0])不是一个函数。我忘了提到我正在使用node。js@Luffydude在node.js中,它工作正常,表示error
返回a[0].localeCompare(b[0])不是一个函数。我忘了提到我正在使用node。js@Luffydude在node.js中,它工作正常