HarmonyOS 鸿蒙Next 关于数组的常用方法.sort
HarmonyOS 鸿蒙Next 关于数组的常用方法.sort
最近学习到 .sort
的方法,发现编译器输出的结果和官方文档的说明有较大出入,求解答!
问题描述:官方文档中描述回调函数的第一个参数 a
是前一项元素,b
是后一项元素,按照这个逻辑,我输出 a
,应该会有第一个数据也就是 5
,但是实际没有!
更多关于HarmonyOS 鸿蒙Next 关于数组的常用方法.sort的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我的评价是,mdn都没这么描述,官网是从哪里抄来的
这个方法是js自带的方法,但你管他是不是,你只要知道,在这个回调里,如果a<b你应该返回一个负数,a=b应该返回0,a>b应该返回一个正数就行了。
更多关于HarmonyOS 鸿蒙Next 关于数组的常用方法.sort的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,数组的.sort()
方法用于对数组元素进行排序。默认情况下,.sort()
方法会将数组元素转换为字符串,然后按照Unicode码点顺序进行排序。例如:
let arr = [10, 5, 20, 1];
arr.sort();
console.log(arr); // 输出: [1, 10, 20, 5]
如果需要按照数值大小排序,可以传入一个比较函数:
let arr = [10, 5, 20, 1];
arr.sort((a, b) => a - b);
console.log(arr); // 输出: [1, 5, 10, 20]
比较函数接收两个参数a
和b
,返回值为负数时a
排在b
前面,返回值为正数时b
排在a
前面,返回值为0时顺序不变。
.sort()
方法会直接修改原数组,并返回排序后的数组。
在HarmonyOS(鸿蒙Next)中,数组的.sort()
方法用于对数组元素进行排序。默认情况下,.sort()
会将元素转换为字符串,并按Unicode码点顺序排序。若需自定义排序规则,可传入一个比较函数,该函数接收两个参数(a, b),并返回负数、零或正数,分别表示a应排在b前、a与b相等、a应排在b后。例如,array.sort((a, b) => a - b)
可实现数字的升序排序。