欢迎光临散文网 会员登陆 & 注册

使用sort方法实现用自定义标准给数组排序

2021-09-14 15:41 作者:会飞的蜗牛007  | 我要投稿

数组的类型任意。

语法: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);

})

在实际应用时,数组可以是任意类型的,比较属性也可以是任意类型的,只要有比较返回值,就可以按照自己的规则给数组排序。



使用sort方法实现用自定义标准给数组排序的评论 (共 条)

分享到微博请遵守国家法律