شیء Math

در جاوااسکریپت، از شیء Math برای انجام محاسبات ریاضی استفاده می‌شود. از این شیء می‌توان برای گرد کردن اعداد، گرفتن جذر یا نتیجه توان یک عدد استفاده کرد. این شیء سازنده ندارد و تمام متدها، خاصیت ها و ثابت های آن Static هستند. در جدول زیر لیست برخی از متدهای پر کاربرد شیء Math آمده است:

متد توضیح
abs() قدر مطلق یک عدد را بر می‌گرداند.
ceil() کوچک‌ترین مقدار صحیحی که بزرگتر یا مساوی با عدد مورد نظر ما باشد را بر می‌گرداند.
cos() کوسینوس یک زاویه مشخص را بر می‌گرداند.
floor() بزرگ‌ترین مقدار صحیحی که کوچکتر یا مساوی با عدد مورد نظر ما باشد را بر می‌گرداند.
log() لگاریتم یک عدد در مبنای 10 را بر می‌گرداند.
max() بزرگ‌ترین عدد در بین چندین عدد را بر می‌گرداند.
min() کوچک‌ترین عدد در بین چندین عدد را بر می‌گرداند.
pow() برای به توان رساندن یک عدد به کار می‌رود.
round() گرد کردن یک عدد اعشار به نزدیکترین مقدار صحیح.
sin() سینوس یک زاویه مشخص را بر می‌گرداند.
sqrt() جذر یک عدد را بر می‌گرداند.
tan() تانژانت یک زاویه را بر می‌گرداند.

گرد کردن اعداد با استفاده از کلاس Math

می‌توان با استفاده از Math.ceil() و Math.floor() یک عدد با قسمت اعشار را گرد کرد. متد Math.ceil() یک عدد از نوع اعشار را گرفته و یک مقدار از نوع اعشار گرد شده را بر می‌گرداند. نتیجه این متد بزرگتر یا مساوی آرگومان دریافت شده است. Math.floor یک عدد اعشار را گرد کرده و نتیجه کوچکتر یا مساوی آرگومان گرفته شده است. برای روشن شدن مطلب به مثال زیر توجه کنید:

var number = 34.567;
var ceil   = Math.ceil(number);
var floor  = Math.floor(number);

console.log(`Math.ceil (${number}) = ${ceil}`);
console.log(`Math.floor(${number}) = ${floor}`);
Math.ceil (34.567) = 35
Math.floor(34.567) = 34

اگر بخواهید یک عدد به عددی با قسمت اعشاری مشخص گرد کنید می‌توانید از متد Math.round() استفاده کنید:

double number = 3.31674

console.log(Math.round(number));
3

به توان رساندن یک عدد با استفاده از کلاس Math

برای به توان رساندن یک عدد از متد Math.pow() استفاده می‌شود. این متد دو آرگومان را قبول کرده که اولین آرگومان پایه و دومی توان می‌باشد. به کد زیر توجه کنید:

for (var i = 0; i < 10; i++)
{
    console.log(`2 ^ ${i} = ${Math.pow(2, i)}`);
}
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512

گرفتن ریشه یک عدد

برای محاسبه ریشه یک عدد از متد Math.sqrt() استفاده می‌شود. این متد یک عدد به عنوان آرگومان قبول می‌کند که همان عددی است که می‌خواهیم ریشه آن را محاسبه کنیم:

console.log(Math.sqrt(25));
5

یافتن بزرگترین و کوچکترین عدد با استفاده از کلاس Math

کلاس Math دارای متدهای Math.min() و Math.max() برای یافتن بزرگترین و کوچکترین عدد از بین چندین عدد می‌باشد. هر دو متد دو آرگومان از نوع عددی قبول می‌کنند. در حالت پیشفرض دو عدد را می‌توانید با هم مقایسه نمایید.

console.log(Math.min(1,2));
console.log(Math.max(1,2));
1
2

برای جلوگیری از محدودیت این متدها می‌توان به صورت تو در تو از آنها به صورت زیر استفاده کرد:

//Get the maximum and minimum of 3 numbers
var max = Math.max(Math.max(1, 2), 3);
var min = Math.min(Math.min(1, 2), 3);

console.log(`Max = ${max}`);
console.log(`Min = ${min}`);
Max = 3
Min = 1

همچنین می‌توانید یک تابع تعریف کنید که کوچکترین و بزرگترین هر تعداد عدد را به شما معرفی کند:

 1: function GetMax(numbers)
 2: {
 3:    var maximum = numbers[0];
 4:    
 5:    for (var i = 1; i < numbers.length; i++)
 6:    {
 7:        maximum = Math.max(maximum, numbers[i]);
 8:    }
 9:    
10:    return maximum;
11: }
12:
13: function GetMin(numbers)
14: {
15:    var minimum = numbers[0];
16:    
17:    for (var i = 1; i < numbers.length; i++)
18:    {
19:        minimum = Math.min(minimum, numbers[i]);
20:    }
21:    
22:    return minimum;
23: }
24:
25: var numbers = [32, 17, 45, 10, 5];
26: var max = GetMax(numbers);
27: var min = GetMin(numbers);
28: console.log(max);
29: console.log(min);
45
5

توابع GetMax() و GetMin() آرایه‌ای از اعداد صحیح قبول می‌کنند (هر تعداد عدد را قبول می‌کنند). در داخل توابع ما فرض را بر این گذاشته‌ایم که اولین مقدار بزرگترین و آخرین مقدار کوچکترین عدد است. سپس یک حلقه for ایجاد کرده که با اندیس 1 شروع می‌شود. با استفاده از متدهای Math.min() و Math.max() تعیین می‌کنیم که آیا عنصر جاری حلقه از مقدار جاری اعداد بزرگتر است یا کوچکتر. که در این صورت مقدار جاری را جایگزین متغیرهای بزرگ یا کوچک می‌کنیم. سپس مقادیر نتیجه را برگشت می‌دهیم.

ثابت‌های شیء Math

شیء Math، دارای تعدادی ثابت عددی مثل عدد P است که از آن‌ها می‌توانید در انجام امور ریاضی و محاسبات خود استفاده نمایید. در جدول زیر این ثابت‌ها قرار داده شده‌اند:

ثابت کاربرد
E این ثابت، مقدار عدد حقیقی e را بر می‌گرداند.
LN2 این ثابت، مقدار لگاریتم طبیعی 2 را بر می‌گرداند.
LN10 این ثابت، مقدار لگاریتم طبیعی 10 را بر می‌گرداند.
LOG2E این ثابت، مقدار لگاریتم عدد e را بر مبنای 2 بر می‌گرداند.
LOG10E این ثابت، مقدار لگاریتم عدد e را بر مبنای 10 بر می‌گرداند.
PI این ثابت، مقدار عدد P را بر می‌گرداند.

مثلاً از ثابت PI که مقدار 3.141592653589793 را در خود ذخیره دارد، زمانی که بخواهید محیط یا مساحت یک دایره را پیدا کنید، استفاده می‌شود. برای یافتن محیط یک دایره به صورت زیر عمل می‌شود که در آن radius شعاع می‌باشد:

var area = Math.PI * Math.pow(radius, 2);