下面的一组例子展示了你如何在JS中利用arrays排序
<!DOCTYPE HTML>
<html>
<head>
<title>Sorting arrays using JavaScript</title>
</head>
<body>
<div id="debug"></div>
<script type="text/javascript">
//<![CDATA[
var arr = ["a", "B", "c", "Z", "f", "E"];
arr.sort();
var debug = document.getElementById("debug");
debug.innerHTML = arr.join(" ");
//]]>
</script>
</body>
</html>
<!DOCTYPE HTML><html>
<head>
<title>Sorting arrays using JavaScript</title>
</head>
<body>
<div id="debug"></div>
<script type="text/javascript">
//<![CDATA[
var arr = ["a", "B", "c", "Z", "f", "E"];
arr.sort(insensitiveSort);
document.getElementById("debug").innerHTML = arr.join(" ");
function insensitiveSort(a, b) {
a = a.toLowerCase();
b = b.toLowerCase();
if (a > b) {
return 1;
} else if (a < b) {
return -1;
} else {
return 0;
}
}
//]]>
</script>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<title>Sorting arrays using JavaScript</title>
</head>
<body>
<div id="debug"></div>
<script type="text/javascript">
//<![CDATA[
var str = "";
var arr = [{"value":"a"},
{"value":"B"},
{"value":"c"},
{"value":"Z"},
{"value":"f"},
{"value":"E"}];
arr.sort(objectSort("value"));
arr.forEach(function(item) {
str += item.value + " ";
});
document.getElementById("debug").innerHTML = str.trim();
function objectSort(key) {
return function(a,b) {
var aValue = a[key].toLowerCase(),
bValue = b[key].toLowerCase();
if (aValue > bValue) {
return 1;
} else if (aValue < bValue) {
return -1;
} else {
return 0;
}
}
}
//]]>
</script>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<title>Sorting arrays using JavaScript</title>
</head>
<body>
<div id="debug"></div>
<script type="text/javascript">
//<![CDATA[
var str = "";
var arr = [{"value":100},
{"value":-4},
{"value":2500},
{"value":300},
{"value":16},
{"value":20000},
{"value":42}];
arr.sort(objectSort);
arr.forEach(function(item) {
str += parseFloat(item.value) + " ";
});
document.getElementById("debug").innerHTML = str.trim();
function objectSort(a, b) {
if (a.value > b.value) {
return 1;
} else if (a.value < b.value) {
return -1;
} else {
return 0;
}
}
//]]>
</script>
</body>
</html>
<!DOCTYPE HTML><html>
<head>
<title>Sorting arrays using JavaScript</title>
</head>
<body>
<div id="debug"></div>
<script type="text/javascript">
//<![CDATA[
var str = "";
var arr = [{"value":"a"},
{"value":"B"},
{"value":"c"},
{"value":"Z"},
{"value":"f"},
{"value":"E"}];
arr.sort(objectSort("value"));
arr.forEach(function(item) {
str += item.value + " ";
});
document.getElementById("debug").innerHTML = str.trim();
function objectSort(key) {
return function(a,b) {
var aValue = a[key].toLowerCase(),
bValue = b[key].toLowerCase();
if (aValue > bValue) {
return 1;
} else if (aValue < bValue) {
return -1;
} else {
return 0;
}
}
}
//]]>
</script>
</body>
</html>
源码下载: