排序数组的键和值,键是Month
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序数组的键和值,键是Month相关的知识,希望对你有一定的参考价值。
我有一个数组,其中键作为月份,值为该月的总费用。
[May: 629, April: 300, March: 50]
我想根据密钥即月份来订购这个数组。我想要的结果:
[ March: 50, April: 300, May: 629]
我试图通过这样做来对密钥进行排序:
var months = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"];
var sorted_keys = Object.keys(arr).sort(function(a,b){
return months.indexOf(a)
- months.indexOf(b);
});
我如何对整个阵列进行排序?
任何帮助都感激不尽。
答案
尝试这样的事情:
var op3MembrosDisp = [];
var w = { id: 2, name: 'karen' };
op3MembrosDisp.push(w);
var w = { id: 1, name: 'Joseph' };
op3MembrosDisp.push(w);
op3MembrosDisp.sort(
function (a, b) {
var aId = a.name;
var bId = b.name;
return ((aId < bId) ? -1 : ((aId > bId) ? 1 : 0));
}
);
另一答案
假设您的输入是一个字符串数组,其格式类似于“month:expense”,那么我们的想法是从该条目中提取月份,并根据月份对该数组进行排序。现在要对数组进行排序,我们使用每个月排名的月份图。
var monthsHash = {
"January": 1,
"February": 2,
"March": 3,
"April": 4,
"May": 5,
"June": 6,
"July": 7,
"August": 8,
"September": 9,
"October": 10,
"November": 11,
"December": 12
};
var input = ["May: 629", "April: 300", "March: 50"]
input.sort(function (a, b) {
var a_month = a.split(":")[0],
b_month = b.split(":")[0],
a_month_rank = monthsHash[a_month],
b_month_rank = monthsHash[b_month];
return a_month_rank - b_month_rank;
});
console.log(input);
以上是关于排序数组的键和值,键是Month的主要内容,如果未能解决你的问题,请参考以下文章