Javascript 对数组的键和值进行排序,键为月份
我有一个数组,其中键为月份,值为当月的总费用Javascript 对数组的键和值进行排序,键为月份,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有一个数组,其中键为月份,值为当月的总费用 [May: 629, April: 300, March: 50] 我想根据密钥(即月份)订购此阵列。 我期望的结果是: [ March: 50, April: 300, May: 629] 我已尝试通过以下操作对密钥进行排序: var months = ["January", "February", "March", "April", "May", "June", "July", "August", "Septembe
[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));
}
);
var op3MembrosDisp=[];
var w={id:2,名称:'karen'};
OP3膜分离推送(w);
var w={id:1,名称:'Joseph'};
OP3膜分离推送(w);
op3MembrosDisp.sort(
功能(a、b){
var-aId=a.name;
var bId=b.名称;
返回((援助<投标)?-1:((援助>投标)?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);
无效语法。你得到了一个什么数组?@ASDFGerte一个仅来自排序的\u键的键数组。[“March”、“April”、“May”]所有normality中的数组都有整数索引(虽然可以分配其他属性,但强烈建议不要这样做)<代码>[May:629,April:300,March:50]是无效语法。如果您的数组看起来像
[“March”,“April”,“May”]
,则将排序从对象.keys(arr).sort(…
更改为arr.sort(…
),它应该可以工作