Bu kodu yaklaşık bir saat boyunca ayıklarken Math.min([1,2])
NaN
döndürüyor.Math.min ([1,2]) neden NaN döndürüyor?
var int_array = [1,2]
console.log(Math.min(int_array)) //prints NaN, but expect 1
isNaN(Math.min(int_array))===true
Bu kodu yaklaşık bir saat boyunca ayıklarken Math.min([1,2])
NaN
döndürüyor.Math.min ([1,2]) neden NaN döndürüyor?
var int_array = [1,2]
console.log(Math.min(int_array)) //prints NaN, but expect 1
isNaN(Math.min(int_array))===true
Math.min()
işlevi aslında sayı dizisi beklediğini, ancak gerçek bir dizi nasıl bilmez, bu yüzden patlıyor.
kullanarak bunları çözebilirsiniz spread operator...
:
var int_array = [1,2];
console.log(Math.min.apply(null,int_array)); // returns 1
Function.apply()
fonksiyonu aracılığıyla bunu başarabilir
var int_array = [1,2];
console.log(Math.min(...int_array)); // returns 1
Bir diziyi min
işlev
Math.min([1,2])
olarak geçirirsiniz argümanlar en az biri bir sayıya dönüştürülür edilemiyorsa
MDN
itibaren
, sonuç NaN olur.
Bu
var int_array = [1,2];
console.log(Math.min.apply(null,int_array));
tüm gerçek tarayıcılarda çalışır.
'console.log (Math.min.apply (Math, [1,2]))' işleri – IrkenInvader