JS对象数组多条件排序

JavaScript030

JS对象数组多条件排序,第1张

JS数组多条件排序基于Array.sort()方法,首先要了解sort()方法的用法。

sort()方法可以传入一个函数作为参数,然后依据该函数的逻辑,进行数组的排序。

eg:

sort()方法接收函数作为参数时,排序主要根据传入函数的返回值是否大于0进行排序。

1)当 a-b <0时,则a元素排在b元素的前面;(a、b元素位置不变)

2)当a-b= 0时,a,b元素的位置不变;

3)当a-b >0时,则b元素排在a元素的前面。(a、b元素位置交换)

当数组元素为对象时,若要根据对象的多个属性进行排序,就涉及到多条件排序。

场景

下拉列表有4个选项

用户按照先后排序后保存

[2, 4, 1, 3]

保存完后,按照顺序进行排序

思路,两个数组,排序有点困难

如果变成一个数组排序,就方便了

我们给每个option新增一个排序属性sordId

这个sordId的值就是 option的id在 showArr中的索引位置

现在我们的options数组已经可以排序了

再写一个对象数组按照属性名排序的方法

最后输出