私は何が間違っている私のコードでは、引数を比較する並べ替えを取得するすべての数字の正しい順序を返すのが不思議です。私はそれが私はどのようにシフトしていない数字12、4、94、および1ですが、私は完全な初心者であり、かなり混乱しています。前もって感謝します!Javascript配列の並べ替えの機能の奇妙な並べ替え
<!DOCTYPE html>
<html>
<head>
<title>Array Manipulation:Sort</title>
<script type="text/javascript">
var parts = [];
parts.push("5", "42", "12");
var removed = parts.pop();
alert(removed);
function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}
parts.unshift(12, 4, 94, 1);
alert(parts.sort()); //1, 12, 4, 42, 5, 94
alert(parts.sort(compare)); //1, 4, 12, 42, 5, 94
</script>
</head>
</html>
あなたは、文字列と数字を混合しているので、私の推測ではあります。 – Josh
あなたの配列項目のいくつかは数字であり、そのうちのいくつかは文字列です。それはうまくいかない。あなたは数値か字句で比較しますか? – Bergi
も参照してください[整数の配列を正しくソートする方法](http://stackoverflow.com/q/1063007/1048572) - あなたの質問は何か、多分重複しているのでしょうか? – Bergi