Javascript 在数组中插入、删除和添加对象
我还没有开始编写代码,因为我想收集我的想法,找出解决这个问题的最佳方法 我有一个排序数组,其中包含具有类别和名称的对象Javascript 在数组中插入、删除和添加对象,javascript,arrays,sorting,Javascript,Arrays,Sorting,我还没有开始编写代码,因为我想收集我的想法,找出解决这个问题的最佳方法 我有一个排序数组,其中包含具有类别和名称的对象 数组按类别排序(类别为A、B和C)。A总是放在B之前,B总是放在C之前 确定类别后,还将按名称进行排序。(A类苹果将先于A类香蕉) 这是我想到的方法 有一个inventory类,其中有4个数组。阵列将按类别(阵列A、阵列B、阵列C和组合阵列)进行拆分。这样,当选中类别时,它将转到正确的数组,并根据名称将内容放置到正确的位置。它不检查一个巨大的数组,而是检查一个较小的数组。当
- 数组按类别排序(类别为A、B和C)。A总是放在B之前,B总是放在C之前
- 确定类别后,还将按名称进行排序。(A类苹果将先于A类香蕉)
这将用js编码。我写这篇文章是因为我想知道我是否在正确的轨道上,或者是否有更好的逻辑来按类别和名称对数组进行排序。您可以通过or运算符链接排序。通过js短路,这将非常有效,例如:
yourArray.sort((a,b)=>
a.category.localeCompare(b.category)
|| a.name.localeCompare(b.name)
);
对于更多具有相同比较机制的组,如
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;
});
您必须至少提供一些自己的代码。在询问某件事是否是更好的方法之前,先尝试一下,尤其是如果你能让它发挥作用,而且这不是一个巨大的努力,那么你就在正确的轨道上了。