设为首页收藏本站

融智技术学院

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2678|回复: 13

求解Array数组排序问题

[复制链接]
jun910614 发表于 2011-5-20 00:06:23 | 显示全部楼层 |阅读模式
书上Array的排序sort( )
var arr:Array=new Array("1","12","3,""14","5","6")
arr.sort()
trace(arr)
输出的顺序是1,12,14,3,5,6搞不懂sort( )默认的排序方式是什么意思,说“默认的排序方式是按照字符串字母的顺序来排序,即使数组中的元素是数值,也要按照字符串排序而不是数值的大小。”请问这句话怎么理解 啊,上面的数组元素换成1,2,3,4,5,6的话输出并不会改变它们的顺序,纠结中……
sxyufeng 发表于 2011-5-20 08:46:34 | 显示全部楼层
回复 jun910614 的帖子

它这时按照字符进行排序的。例如"12"和"4"。从数字角度,4小于12,应该派到前面。但是按照字符的角度,它会拿12的第一个字符和4的第一个字符做比较。这个时候,1小于4,就认为字符串12小于字符串4。

字符串12和字符串14比较,还是取第一位。两个都是1。这个时候,就会拿第二位比较,12的第二位是2,14的第二位是4,2小于4。所以字符串12派到字符串14的前面。
 楼主| jun910614 发表于 2011-5-20 14:32:40 | 显示全部楼层
回复 sxyufeng 的帖子

谢谢管理员大哥了,我是不是可以理解为是在字符串的基础上进行数值的排序 啊
sxyufeng 发表于 2011-5-20 18:12:05 | 显示全部楼层
回复 jun910614 的帖子

应该准确的说,是在字符串的基础上按照ASCII值排序。不过ASCII值刚好和数值的顺序是一样的。
Jonaer 发表于 2011-8-29 23:18:30 | 显示全部楼层
这个必需支撑!!!
ijlg_2007 发表于 2011-9-19 19:45:10 | 显示全部楼层
你var arr:Array=new Array("1","12","3,""14","5","6")
是定义的是字符型数组,Array的排序sort( )默认是升续,字符型比较不是比较占的字符的多少,而是从一个字符开始比较,如果第一符谁大谁就大,如果相同则从第2个字符开始比较,以此类推。
所以”12“中”1“比“3”,”5“,“6”都大,所以结果是”1“,”12“,”14“,”3“,“5”,“6”,,当然显示的时候没有引号

评分

1

查看全部评分

sxyufeng 发表于 2011-9-19 20:11:13 | 显示全部楼层
ijlg_2007 发表于 2011-9-19 19:45
你var arr:Array=new Array("1","12","3,""14","5","6")
是定义的是字符型数组,Array的排序sort( )默认是 ...

解释的更详细,赞一个。
一骑红尘 发表于 2011-9-25 11:07:31 | 显示全部楼层
呵呵 上课的时候老师讲过但是 我还给老师了 现在 一看感觉 应该不会再忘了 顶一个
yang350 发表于 2011-11-23 10:29:54 | 显示全部楼层
支持问题讨论帖
蓝上ets 发表于 2012-6-6 16:25:36 | 显示全部楼层
佩服,佩服!












www.bj-website.com  北京网站制作 企业网站建设 网站制作
vvxfp 发表于 2012-6-15 21:03:03 | 显示全部楼层
顶.支持,路过!












中老年服装   ln.juxiangmai.com
lds82hui2w1 发表于 2012-12-23 21:34:09 | 显示全部楼层
支持一下吧!女性服装批发商城www.nvxingfuzhuang.com/竹片加工供应商www.ahmuzhu.com两性成人用品批发商城www.liangxingshop.com
actionsweb 发表于 2013-1-22 10:38:01 | 显示全部楼层
var arr:Array = new Array("12", "1", "9");
arr.sort(Array.NUMERIC);
trace(arr);
sqdZkW 发表于 2013-2-5 18:52:42 | 显示全部楼层
我们的网站就是用这空的空间和域名,速度和稳定性都OK
您需要登录后才可以回帖 登录 | 注册

本版积分规则

新突破电商

小黑屋|手机版|Archiver|融智技术学院 ( 京ICP备09018999号  

GMT+8, 2018-5-21 17:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表