Nima uchun Math.max (... []) ES2015da Infinityga teng?

Math.max([]) would be 0

And [..[]] is []

Lekin nima uchun Math.max (... []) ES2015 da -Infinity ga teng?

6
Hech qanday dalillar keltirmaysiz; -Infinity bu yerda Math.max() dan boshlanadi.
qo'shib qo'ydi muallif Pointy, manba
Math.max ([]) 0 ekanligini unutmang, chunki Number ([]) - bu 0 .
qo'shib qo'ydi muallif Pointy, manba
Math.max ([]) 0 ekanligini unutmang, chunki Number ([]) - bu 0 .
qo'shib qo'ydi muallif Pointy, manba
MDN sahifasidan : < i> Agar argumentlar kiritilmagan bo'lsa, natijada -Infinity.
qo'shib qo'ydi muallif Pointy, manba
MDN sahifasidan : < i> Agar argumentlar kiritilmagan bo'lsa, natijada -Infinity.
qo'shib qo'ydi muallif Pointy, manba
Men javobni bilishim kerak emas, lekin men ham bilishni istayman.
qo'shib qo'ydi muallif evolutionxbox, manba
Bir sidenote sifatida, Number.isFinite bilan cheksizligini tekshirish mumkin.
qo'shib qo'ydi muallif Nico Van Belle, manba
Bir sidenote sifatida, Number.isFinite bilan cheksizligini tekshirish mumkin.
qo'shib qo'ydi muallif Nico Van Belle, manba
Mumkin bo'lsa (ya'ni '0' sizning default sifatida foydalanmoqchi bo'lsangiz), Math.max (0, ... [])
qo'shib qo'ydi muallif ZephDavies, manba
Mumkin bo'lsa (ya'ni '0' sizning default sifatida foydalanmoqchi bo'lsangiz), Math.max (0, ... [])
qo'shib qo'ydi muallif ZephDavies, manba

8 javoblar

Agar siz ichki dastur hujjatlarini ko'rsangiz, siz nima uchun Math.max kodi qaytib kelganligini bilib olish mumkin.

Agar argumentlar berilmagan bo'lsa, natijasi -∞.

Shunday qilib, bo'sh bir qatorni funksiya chaqiruviga yoyganingizda, bu funktsiyani argumentsiz chaqirishga o'xshaydi.

3
qo'shib qo'ydi
Kechirasiz ... Afsuski, men shunchaki aralashib qoldim. Min bilan bog'liq docni bog'ladim. Javobni tuzatdi va yangilab oldi. Nuqta bilan ishora qilganingiz uchun tashakkur;)
qo'shib qo'ydi muallif Rajaprabhu Aravindasamy, manba
@Pointy Hmm .. Qizig'i shundaki, hatto Math.max() deb atagan bo'lsam ham, u menga - Infinity beradi. Hujjatlarda u erda matn terish varianti bo'lishi kerak deb o'ylayman. Men so'nggi dokladni ko'rib chiqay.
qo'shib qo'ydi muallif Rajaprabhu Aravindasamy, manba
Bog'langan hujjatda -∞ deyiladi. Muvaffaqiyatsiz infinity, siz argumentlardan foydalanmaganingizda Math.min() dan qaytarilgan narsadir.
qo'shib qo'ydi muallif Pointy, manba
Lekin natijasi salbiy infinity, ijobiy emas.
qo'shib qo'ydi muallif Pointy, manba

Agar siz ichki dastur hujjatlarini ko'rsangiz, siz nima uchun Math.max kodi qaytib kelganligini bilib olish mumkin.

Agar argumentlar berilmagan bo'lsa, natijasi -∞.

Shunday qilib, bo'sh bir qatorni funksiya chaqiruviga yoyganingizda, bu funktsiyani argumentsiz chaqirishga o'xshaydi.

3
qo'shib qo'ydi
Kechirasiz ... Afsuski, men shunchaki aralashib qoldim. Min bilan bog'liq docni bog'ladim. Javobni tuzatdi va yangilab oldi. Nuqta bilan ishora qilganingiz uchun tashakkur;)
qo'shib qo'ydi muallif Rajaprabhu Aravindasamy, manba
@Pointy Hmm .. Qizig'i shundaki, hatto Math.max() deb atagan bo'lsam ham, u menga - Infinity beradi. Hujjatlarda u erda matn terish varianti bo'lishi kerak deb o'ylayman. Men so'nggi dokladni ko'rib chiqay.
qo'shib qo'ydi muallif Rajaprabhu Aravindasamy, manba
Bog'langan hujjatda -∞ deyiladi. Muvaffaqiyatsiz infinity, siz argumentlardan foydalanmaganingizda Math.min() dan qaytarilgan narsadir.
qo'shib qo'ydi muallif Pointy, manba
Lekin natijasi salbiy infinity, ijobiy emas.
qo'shib qo'ydi muallif Pointy, manba

Math.max ([]) bilan sodir bo'lgan narsa [] birinchi navbatda mag'lubiyatga va keyin raqamga aylanadi. Aslida, bu dalillarning qatori deb hisoblanmaydi.

Math.max (... []) bilan qator argumentlarni spektr operatori orqali qabul qiladi. Qator bo'sh bo'lgani uchun, bu argumentsiz chaqiruv bilan bir xil. docs asosida ishlab chiqarilgan -Infinity

Agar argumentlar berilgan bo'lmasa, natija - Infiniti.


Ba'zi bir misollar:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

console.log(+[]); //0    [] -> '' -> 0
console.log(+[3]); //3    [] -> '3' -> 3
console.log(+[3,4]); //Nan 
console.log(...[3]); //3
console.log(...[3,4]); //3 4 (the array is used as arguments)
console.log(Math.max([])); //0  [] is converted to 0
console.log(Math.max());//-infinity:  default without arguments
console.log(Math.max(...[]));//-infinity
console.log(Math.max([3,4])); //Nan
console.log(Math.max(...[3,4])); //4
</div> </div>
2
qo'shib qo'ydi

Math.max ([]) bilan sodir bo'lgan narsa [] birinchi navbatda mag'lubiyatga va keyin raqamga aylanadi. Aslida, bu dalillarning qatori deb hisoblanmaydi.

Math.max (... []) bilan qator argumentlarni spektr operatori orqali qabul qiladi. Qator bo'sh bo'lgani uchun, bu argumentsiz chaqiruv bilan bir xil. docs asosida ishlab chiqarilgan -Infinity

Agar argumentlar berilgan bo'lmasa, natija - Infiniti.


Ba'zi bir misollar:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

console.log(+[]); //0    [] -> '' -> 0
console.log(+[3]); //3    [] -> '3' -> 3
console.log(+[3,4]); //Nan 
console.log(...[3]); //3
console.log(...[3,4]); //3 4 (the array is used as arguments)
console.log(Math.max([])); //0  [] is converted to 0
console.log(Math.max());//-infinity:  default without arguments
console.log(Math.max(...[]));//-infinity
console.log(Math.max([3,4])); //Nan
console.log(Math.max(...[3,4])); //4
</div> </div>
2
qo'shib qo'ydi

Agar Math.max (... []) uchun babel chiqishiga qaralsangiz, siz Math.max.apply (Matematik, []) bilan yakunlanasiz. Agar ES5-da bu tizimga kirsangiz, siz nima uchun bu -Infinity ni berganini bilasiz, chunki bu uni argumentsiz chaqirish bilan bir xil.

And indeed, Math.max() gives -Infinity

If you need a reminder: fn.apply( yourThis, [ a, b, c ] ) is the same as fn( a, b, c )

2
qo'shib qo'ydi

Agar Math.max (... []) uchun babel chiqishiga qaralsangiz, siz Math.max.apply (Matematik, []) bilan yakunlanasiz. Agar ES5-da bu tizimga kirsangiz, siz nima uchun bu -Infinity ni berganini bilasiz, chunki bu uni argumentsiz chaqirish bilan bir xil.

And indeed, Math.max() gives -Infinity

If you need a reminder: fn.apply( yourThis, [ a, b, c ] ) is the same as fn( a, b, c )

2
qo'shib qo'ydi

Because Math.max(...[]) is not Math.max([...[]]). In the first case, what You really call is Math.max(), which is -Infinity. See the spread operator in function call - https://developer.mozilla.org/cs/docs/Web/JavaScript/Reference/Operators/Spread_operator

2
qo'shib qo'ydi

Because Math.max(...[]) is not Math.max([...[]]). In the first case, what You really call is Math.max(), which is -Infinity. See the spread operator in function call - https://developer.mozilla.org/cs/docs/Web/JavaScript/Reference/Operators/Spread_operator

2
qo'shib qo'ydi
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb