に複数の配列からすべての要素で最高と最低の入手:私は18個の要素の4つのアレイと、このアレイ(**コード/アレイの一部ではなく、結果を参照)がジャバスクリプト
highlow: [["-5", "8", "-8", "13", "17", "11", "17", "4", "17", "18", "18", "10", "-8", "-13", "-22", "-16", "-3", "27"],
["5", "**15**", "6", "-11", "-18", "-7", "-6", "7", "-10", "5", "6", "-6", "-12", "-10", "-7", "14", "10", "23"],
["-6", "7", "8", "18", "6", "14", "24", "14", "6", "13", "8", "18", "-14", "-15", "-9", "-13", "14", "12"],
["-19", "-12", "14", "20", "15", "20", "11", "19", "13", "5", "2", "-14", "5", "6", "16", "-5", "8", "30"]]
私が必要18個の要素の中で最大の2つの新しい配列を取得し、最低の配列を1つ取得します。 私が作ったこの:
var highlow = [];
var high = [];
var low = [];
for (i = 0; i < 18; i++) {
high.push("0");
low.push("0");
}
for (var l = 0; l < highlow.length; l++) {
for (var m = 0; m < highlow[0].length; m++) {
// High
if (highlow[l][m] > high[m]) {
high.splice(m, 1, highlow[l][m]);
}
// Low
if (highlow[l][m] < low[m]) {
low.splice(m, 1, highlow[l][m]);
}
}
}
しかし、私が得る結果は、それが8を返す二高の要素で、これをですが、それは15(参照**)でなければなりません:
high:
["5","**8**","8","20","6","20","24","7","6","5","8","18","5","6","16","14","8","30"]
low:
["-19","-12","14","-11","15","-7","11","19","13","5","2","-14","-14","-15","-9","-5","-3","12"]
私はカントそれはショートカットすることができれば、これを管理する方法を見つけ出す...
Underscore.jsは、あなたは、文字列ではなく数値を比較しているので、あなたはそれらの結果を取得している...、
それは私には明確には見えません。 "highlow"という配列の配列があり、それを2つの配列に処理したいとします。 1つは "low"という名前の "highlow"の18個の下位要素と "high"という名前の18個以上の上位要素です。 私が見ていることから、問題だけではありません。期待どおりの結果を持つ例を印刷できますか? – Sylhare
「24」は「8」よりも高いと思いますか? – Keith
[OK]それは最初の間違った要素を表示するために(完全にはっきりしない)申し訳ありませんが、多くのエラーがあります; –