我还没有开始编码,因为我想收集我的想法并找出解决这个问题的最佳方法。
我有一个排序数组,其中包含具有类别和名称的对象。
这是我想到的方法。
有一个库存类,里面有4个数组。数组将按类别(数组A,数组B,数组C和组合数组)拆分。选中类别时,它将转到正确的数组,并根据名称将内容放入正确的位置。它不是检查1个巨大的数组,而是检查较小的数组。当添加对象时,它会将数组a和b附加到组合数组中。
这将以js编码。我写这篇文章是因为我想知道我是否在正确的轨道上,或者是否有更好的逻辑来按类别和名称对数组进行排序。
答案 0 :(得分:1)
您可以通过或运算符链接排序。通过js短路,这将是非常有效的,例如:
yourArray.sort((a,b)=>
a.category.localeCompare(b.category)
|| a.name.localeCompare(b.name)
);
答案 1 :(得分:0)
对于具有相同比较机制的更多组,例如localeCompare
,您可以使用带有键的数组。这很容易维护。
var keys = ['category', 'name'];
array.sort(function (a, b) {
var v;
return keys.some(function (k) {
return v = a[k].localeCompare(b[k]);
}) && v;
});