Log updates
[beagleboard.org.git] / code / .docs / prototype_Global / function_String.Sorter.html
blob8d09550faee936c084fde65a40b813f20772ef1c
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
2 <html>
4 <head>
5 <title></title>
6 <style type="text/css">
8 body, p, td, th, li {
9 font-family: verdana, sans-serif;
10 font-size: 10pt;
13 big.top {
14 font-size: 18pt;
15 font-weight: bold;
18 big {
19 font-size: 13pt;
20 font-weight: bold;
23 a {
24 font-weight:bold;
25 color: #cc3333;
26 text-decoration:none;
28 a:hover {
29 text-decoration:underline;
32 .navig {
33 font-size: 9px;
34 text-decoration: none;
35 font-weight:normal;
38 li {
39 padding-bottom: 5px;
43 .mainbox {
44 border-color:#999999;
45 padding-top:5px;
46 padding-bottom:5px;
47 border-bottom-width:1px;
48 border-bottom-style:dotted;
51 .headline {
52 font-weight:bold;
53 background:#dfdfdf;
54 border-color:#999999;
55 padding-top:5px;
56 padding-bottom:5px;
59 </style>
60 </head>
62 <body>
64 <table width="90%" border="0" cellspacing="1" cellpadding="5">
65 <tr>
66 <td class="headline">
67 <big><tt>Global.String.Sorter&nbsp;(field,&nbsp;order)</tt></big><br>
68 </td>
69 </tr>
71 <tr>
72 <td class="mainbox">
73 factory to create functions for sorting objects in an array <br><br>
75 <ul>
76 <li><b>Parameter</b> <code>String</code>:<br/>
77 name of the field each object is compared with<li><b>Parameter</b> <code>Number</code>:<br/>
78 order (ascending or descending)
79 <li><b>Returns</b><br>
80 Function ready for use in Array.prototype.sort
86 </ul>
87 </td>
88 </tr>
89 </table>
91 <table width="90%" border="0" cellspacing="1" cellpadding="5">
92 <tr>
93 <td>Sourcecode in /root/helma-1.6.1/modules/core/String.js:
94 <pre><font color="#aaaaaa">586:</font> String.Sorter = function(field, order) {
95 <font color="#aaaaaa">587:</font> if (!order)
96 <font color="#aaaaaa">588:</font> order = 1;
97 <font color="#aaaaaa">589:</font> var key = field + <font color="#9999aa">&quot;:&quot;</font> + order;
98 <font color="#aaaaaa">590:</font> if (!String.Sorter.cache[key]) {
99 <font color="#aaaaaa">591:</font> String.Sorter.cache[key] = function(a, b) {
100 <font color="#aaaaaa">592:</font> var str1 = String(a[field] || String.NULL).toLowerCase();
101 <font color="#aaaaaa">593:</font> var str2 = String(b[field] || String.NULL).toLowerCase();
102 <font color="#aaaaaa">594:</font> if (str1 &gt; str2)
103 <font color="#aaaaaa">595:</font> return order * 1;
104 <font color="#aaaaaa">596:</font> if (str1 &lt; str2)
105 <font color="#aaaaaa">597:</font> return order * -1;
106 <font color="#aaaaaa">598:</font> return 0;
107 <font color="#aaaaaa">599:</font> };
108 <font color="#aaaaaa">600:</font> }
109 <font color="#aaaaaa">601:</font> return String.Sorter.cache[key];
110 <font color="#aaaaaa">602:</font> }
111 </pre>
112 </td>
113 </tr>
115 </table>
121 </body>
122 </html>