我正在使用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和Dagenham",32.9],[" Barnet",37.1],[" Bexley",38.9],等
答案 0 :(得分:4)
只需使用您想要应用排序的元素。
array.sort(function (a, b) {
return a[0].localeCompare(b[0]);
});
工作示例:
var array = [["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]];
array.sort(function (a, b) {
return a[0].localeCompare(b[0]);
});
document.write('<pre>' + JSON.stringify(array, 0, 4) + '</pre>');
&#13;
答案 1 :(得分:1)
Template.registerHelper('functionToCall', function () {
// Code here
});
&#13;
答案 2 :(得分:1)
这种方式效率可能不高,但它可以达到您的目的。
var myArray =[["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]]
// Convert array of arrays to single json object
var _tempArray = [];
for(var i =0;i<myArray.length;i++){
_tempArray.push({
"name":myArray[i][0],
"val":myArray[i][1]
})
}
//sort it
var sortedArray = _tempArray.sort(function(a,b){
return a.name >b.name?1:-1
})
console.log(sortedArray);
工作模式