javascript 数组排序发现一个我原来不知道的事情:
test1.html
<
html
>
<
body
>
<
script
type
="text/javascript"
>
var
y
=
new
Array(
10
,
30000
,
12
);
y.sort();
alert(y);
</
script
>
</
body
>
</
html
>
排序结果正确(按我自认为从小到大的顺序,暂且把这种观点认为是正确的)。
test2.html
<
html
>
<
body
>
<
script
type
="text/javascript"
>
var
y
=
new
Array(
36000
,
500
,
10100
);
y.sort();
alert(y);
</
script
>
</
body
>
</
html
>
排序结果不正确。
当时就纳闷了,随后发现他是按照首字母来排序的。我服了javascript。
随后查看手册解释如下:
sort 方法
返回一个元素已经进行了排序的 Array 对象。
arrayobj.sort(sortfunction)
参数
arrayObj
必选项。任意 Array 对象。
sortFunction
可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
唉,错怪javascript了,本来人家是说清楚了的。只是我没有看手册,觉得java程序里就直接用sort对int 数组排序。没有带什么参数的。
终归一句话,我没有仔细看书啊。
随后加入:
test2.html
<
html
>
<
body
>
<
script
type
="text/javascript"
>
function
AscSort(x, y)
{
return
x
==
y
?
0
: (x
>
y
?
1
:
-
1
);
}
function
DescSort(x, y)
{
return
x
==
y
?
0
: (x
>
y
?
-
1
:
1
);
}
var
y
=
new
Array(
36000
,
500
,
10100
);
y.sort(AscSort);
alert(y);
</
script
>
</
body
>
</
html
>
便得到我所谓的正确排序了。呵呵。
于是怀疑java中也不是我想像中的那么个用法,马上用记事本写了个程序,我一般家里电脑不装IDE ,基本不是用来编程的。所以也没有自动提示之类的。
import
java.util.
*
;
public
class
test
{
public
static
void
main(String []args)
{
int
[] x
=
new
int
[]
{
1
,
2
,
3
,
9
,
4
}
;
Arrays.sort(x,
0
,x.length);
for
(
int
i
=
0
;i
<
x.length;i
++
)
{
System.out.println(x[i]);
}
}
}
顺利通过,不过通过之前还是发生过小错误,那就是直接用了x.sort.唉,看来我还是应该反复复习老知识啊。自从转行写JSP 后(而其中我基本使用JSTL不写一行<%%>所以知识都忘了些。)
特此总结,记录。希望日后能仔细点。
分享到:
相关推荐
开发中,遇到数组排序的需求很频繁,这篇文章会介绍几个常见排序思路。 一、希尔排序(性能最好) 如果要从大到小排列,则 while(arr[n] > arr[n – interval] && n > 0) 。 // 希尔排序算法 function xier(arr){ ...
本文给大家汇总了一下javascript的数组排序算法,包括冒泡排序、快速排序、插入排序、希尔排序,希望对大家熟悉javascript数组排序能够有所帮助。
这篇文章主要介绍了JavaScript数组排序小程序实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JavaScript数组的sort()函数是按字符串大小排序,不能正确...
主要介绍了javascript 数组排序与对象排序的实例的相关资料,需要的朋友可以参考下
在学习JavaScript中,做的笔记,关于数组排序的,具体是按字母升序排序,按数字升序或降序排序。如有需要,请自行下载。
主要介绍了JavaScript数组排序功能简单实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
javascript的数组排序函数 sort方法,默认是按照ASCII 字符顺序进行升序排列。
主要介绍了JavaScript数组排序reverse()和sort()方法详解,需要的朋友可以参考下
JavaScript实现多维数组、对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序。今天我们就来详细探讨下sort()方法
为普通数组和对象数组排序,对象数组排序时,可指定排序所依据的对象属性,汉字将以汉语拼音为序。
首先我们先说一下reverse方法。 reverse 方法将一个 Array 对象中的元素位置进行反转。... 如果数组中只包含数字,那么数字将降序排列,如果数组中还包含其他类型,就将数组反转并返回数组。 sort 方法 返回