【JS】数组排序函数 sort 坑项

var arr = [100,99];
arr1 = arr.sort();

问:此时 arr 和 arr1 各自的值为多少

arr = arr1 = [100,99]

推理:Array.sort()默认是数组升序,但是数组中的元素会被强制转化成数组再做比较,又因为 "100" < "99",于是最终升序结果为[100,99]

 

扩展:若数组元素为对象时,比较过程会把对象强制转化成字符串(注意:不是转成json),统一变成"[object Object]",所以若数组内所有元素都为对象时,排序结果与原数组一致

 

发布了35 篇原创文章 · 获赞 18 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/TXX_c/article/details/82182350
今日推荐