未排序数组[输入]:
["> 30 days", "< 7 days", "< 30 days", "< 10 days"];
数组中元素的格式将始终为:X天
["< 7 days", "< 10 days", "< 30 days", "> 30 days"];
我尝试了array.sort()函数,但没有得到预期的输出。
var arr = ["> 30 days", "< 7 days", "< 30 days", "< 10 days"];
var sortedArr = arr.sort();
console.log(sortedArr); // ["< 30 days", "< 10 days", "< 7 days", "> 30 days"]
您可以按数字排序,如果有比较符号,则对同一数值取两个偏移量的增量,这反映了比较的顺序。
var array = ["> 30 days", "< 7 days", "30 days", "< 10 days", "> 10 days", "< 11 days", "42 days", ">= 42 days", "> 42 days", "<= 42 days", "< 42 days"];
array.sort(function (a, b) {
function getV(s) {
return {
value: s.match(/\d+/),
offset: { '<': -2, '<=': -1, null: 0, '>=': 1, '>': 2 }[s.match(/[<>]={0,1}(?=\s*\d)/)]
};
}
var aa = getV(a),
bb = getV(b);
return aa.value - bb.value || aa.offset - bb.offset;
});
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }
例如,我有以下数据集: 我需要根据数组中的条件对数组进行排序。我最终得出了这样的解决方案: 但我无法理解如何使用数组而不是硬编码的和属性。数组可以有许多属性。
问题内容: 是否可以对看起来像这样的数组进行排序和重新排列: 匹配此数组的安排: 不幸的是,我没有任何要跟踪的ID。我将需要优先处理items-array,以使其尽可能接近sortingArr。 更新: 这是我正在寻找的输出: 任何想法如何做到这一点? 问题答案: 就像是: 这是一个较短的代码,但是会破坏数组:
问题内容: 我已经使用AJAX获得了以下对象并将它们存储在数组中: 如何仅使用JavaScript 创建一个函数以按属性 升序 或 降序 对对象进行排序? 问题答案: 按价格升序对房屋进行排序: 或在ES6版本之后:
原数据: 根据arr数组里面的price排序 arr数组根据res里面的item_type对应的值生成的 期望得到: 麻烦各位大佬帮我看看 问题已解决,谢谢各位大佬们。
本文向大家介绍JavaScript对象数组的排序处理方法,包括了JavaScript对象数组的排序处理方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript对象数组的排序处理方法。分享给大家供大家参考,具体如下: javascript的数组排序函数 sort方法,默认是按照ASCII 字符顺序进行升序排列。 arrayobj.sort(sortfunction); 参数:
我有一个带有两个数组的javascript对象,如图所示, 我试图按排名1,2,3进行排序。。但保留与等级相关的名称。 我应该重新配置我的对象以使排序更容易吗? 我目前正在使用 按顺序排列,但名称不保留。 感谢大家的帮助。谢谢