排序数组 [英] sorting an array

查看:89
本文介绍了排序数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有这样定义的数组:


var list = [

[" 1"," 359"," No a test xxxxxxxxxxxxxxx","

0",08 / 18/2003,Approved,

[" 2"," 268" ;,测试字符字段为500

,129,07/14/2003,已批准,

[" ; 3,288,textarea填充XXXXXXXx,

0,07/15/2003,已批准]

];


如何在第3栏排序?


迈克

解决方案

Michael Hill< hi **** @ ram.lmtas.lmco.com>写道:

如果我有一个这样定义的数组:

var list = [
[" 1"," 359", No a Test xxxxxxxxxxxxxxx,
0,08/18/2003,Approved,




请避免发布代码时换行符。发布的代码是

无效。


试试这个:

---

函数比较(a,b){

if(a< b){return -1;}

if(a> b){return 1;}

返回0;

}


var sortedList = list.sort(function(a,b){return compare(a [2 ],b [2]);});

---


/ L

-

Lasse Reichstein Nielsen - lr*@hotpop.com

DHTML死亡颜色:< URL:http ://www.infimum.dk/HTML/rasterTriangleDOM.html>

''没有判断的信仰只会降低精神神圣。''


>如果我有这样定义的数组:


var list = [
[" 1"," 359",No a Test xxxxxxxxxxxxxxx,"
0",08/18/2003,Approved,
[" 2",268,测试字符字段为500
,129,07/14/2003,已批准,
[" 3"," 288"," textarea filled XXXXXXXx","
0" ;,07/15/2003,已批准,
;

如何按第3列排序?




您可以将函数传递给array.sort(fn)方法。


list.sort(函数(a,b){

if(a [2] == b [2]){

返回0;

}

if(a [2] < b [2]){

返回-1;

}

返回1;

}) ;


// 15.4.4.11

http://www.crockford.com/javascript/survey.html


Douglas Crockford在2003年12月1日写了comp.lang.javascript

list.sort(function(a,b){
if( a [2] == b [2]){
返回0;
}
if(a [2]< b [2]){
返回-1;
}
返回1;
});




In简短:


list.sort(

函数(a,b){

return(a [2]> b [2])?1:(a [2]< b [2])? - 1:0

}

);

-

Evertjan。

荷兰。

(请在我的电子邮件地址中将x'变为点数)


If I have an array defined like this:

var list = [
["1","359","No a Test xxxxxxxxxxxxxxx","
0","08/18/2003","Approved"],
["2","268","test character fields for 500
","129","07/14/2003","Approved"],
["3","288","textarea filled XXXXXXXx","
0","07/15/2003","Approved"]
];

How would I sort it by the 3th column?

Mike

解决方案

Michael Hill <hi****@ram.lmtas.lmco.com> writes:

If I have an array defined like this:

var list = [
["1","359","No a Test xxxxxxxxxxxxxxx","
0","08/18/2003","Approved"],



Please avoid line breaks when posting code. The code, as posted, is
invalid.

Try this:
---
function compare(a,b) {
if (a<b) {return -1;}
if (a>b) {return 1;}
return 0;
}

var sortedList = list.sort(function(a,b){return compare(a[2],b[2]);});
---

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
''Faith without judgement merely degrades the spirit divine.''


> If I have an array defined like this:


var list = [
["1","359","No a Test xxxxxxxxxxxxxxx","
0","08/18/2003","Approved"],
["2","268","test character fields for 500
","129","07/14/2003","Approved"],
["3","288","textarea filled XXXXXXXx","
0","07/15/2003","Approved"]
];

How would I sort it by the 3th column?



You can pass a function to the array.sort(fn) method.

list.sort(function (a, b) {
if (a[2] == b[2]) {
return 0;
}
if (a[2] < b[2]) {
return -1;
}
return 1;
});

// 15.4.4.11

http://www.crockford.com/javascript/survey.html


Douglas Crockford wrote on 01 dec 2003 in comp.lang.javascript:

list.sort(function (a, b) {
if (a[2] == b[2]) {
return 0;
}
if (a[2] < b[2]) {
return -1;
}
return 1;
});



In short:

list.sort(
function(a,b) {
return (a[2]>b[2])?1:(a[2]<b[2])?-1:0
}
);
--
Evertjan.
The Netherlands.
(Please change the x''es to dots in my emailaddress)


这篇关于排序数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆