配列に入力した数値から最大の数値を見つけるにはどうすればよいですか?
私がすでに試したこと:
var largest = Math.max.apply(Math, number[i]);
var smallest = Math.min.apply(Math, number[i]);
配列に入力した数値から最大の数値を見つけるにはどうすればよいですか?
私がすでに試したこと:
var largest = Math.max.apply(Math, number[i]);
var smallest = Math.min.apply(Math, number[i]);
あなたはとても近いです:
Math.max.apply(Math, number);
配列のすべての要素をメソッドに渡す必要がありmax()
ます。[i]
ここでは意味がありません。
Math.max.apply は他の回答で述べたようなオプションですが、reduce は言語間でより一般的だと思います:
var number=[1,2,3,2,1,1];
number.reduce(function(a,b){return a>b ? a : b;});
// returns 3
Math.max.apply(Math.max, number);
// returns 3
var max = number[0], i = 0;
for (i = 0; i < n; ++i) {
if (number[i] > max) {
max = number[i];
}
}
var max = _.max(number);
あなたは近くにいます、これを試してください:
Math.max.apply(Math.max, number);
つまり、2 番目の引数は、配列を引数のリストに変換します。
(実際、Math.maxはthisを必要としないため、 applyの最初の引数は必要ありません。そのため、Math.max.apply(null, number)
orMath.max.apply('aaaaahhh', number)
も機能します。)
function compare(a, b) {
if (a > b) return 1
else if (a < b) return -1
else return 0
}
var arr = [ 1, 2, 15, 12.5, 16, 3.35 ]
arr.sort(compare)
alert( arr[2] ) // your n number
// i used sort() but because by default it sorting in lexicographical order i
passed it throuth custom comparisom , it works fine for me