使用sort方法实现用自定义标准给数组排序
数组的类型任意。
语法:arrayObject.sort(sortby)
参数sortby可选。
如果没有使用参数,按字母顺序对数组中的元素进行排序,或者说是按照字符编码的顺序进行排序。
如果想按照其他标准进行排序,就需要提供比较函数,该函数应该有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
举个例子:如果有一个脚本数组,比如一个Card脚本的数组_pokerArr(默认是乱序的),Card脚本中有属性_pokerNum(nu mber类型),想要根据属性_pokerNum的大小给_pokerArr重新排序
this._pokerArr.sort((a,b)=>{
return (a.getComponent(Card)._pokerNum - b.getComponent(Card)._pokerNum);
})
在实际应用时,数组可以是任意类型的,比较属性也可以是任意类型的,只要有比较返回值,就可以按照自己的规则给数组排序。