Rumah >hujung hadapan web >tutorial js >Lembaran Cheat Objek Matematik JavaScript

Lembaran Cheat Objek Matematik JavaScript

Linda Hamilton
Linda Hamiltonasal
2024-11-26 15:08:08233semak imbas

JavaScript Math Object Cheatsheet

Objek Matematik dalam JavaScript menyediakan satu set sifat dan kaedah untuk melaksanakan tugasan matematik. Berikut ialah helaian tipu yang komprehensif untuk objek Matematik.


Hartanah

Objek Matematik mempunyai set pemalar:

Property Description Value (Approx.)
Math.E Euler's number 2.718
Math.LN2 Natural logarithm of 2 0.693
Math.LN10 Natural logarithm of 10 2.302
Math.LOG2E Base 2 logarithm of Math.E 1.442
Math.LOG10E Base 10 logarithm of Math.E 0.434
Math.PI Ratio of a circle's circumference to its diameter 3.14159
Math.SQRT1_2 Square root of 1/2 0.707
Math.SQRT2 Square root of 2 1.414

Kaedah

1. Kaedah Pembundaran

Method Description Example
Math.round(x) Rounds to the nearest integer Math.round(4.5) → 5
Math.floor(x) Rounds down to the nearest integer Math.floor(4.7) → 4
Math.ceil(x) Rounds up to the nearest integer Math.ceil(4.1) → 5
Math.trunc(x) Removes the decimal part (truncates) Math.trunc(4.9) → 4

2. Penjanaan Nombor Rawak

Method Description Example
Math.random() Generates a random number between 0 and 1 (exclusive) Math.random() → 0.53
Custom Random Int Generator Random integer between min and max Math.floor(Math.random() * (max - min 1)) min

3. Kaedah Aritmetik

Method Description Example
Math.abs(x) Absolute value Math.abs(-7) → 7
Math.pow(x, y) Raises x to the power of y Math.pow(2, 3) → 8
Math.sqrt(x) Square root of x Math.sqrt(16) → 4
Math.cbrt(x) Cube root of x Math.cbrt(27) → 3
Math.hypot(...values) Square root of the sum of squares of arguments Math.hypot(3, 4) → 5

4. Kaedah Eksponen dan Logaritma

Method Description Example
Math.exp(x) e^x Math.exp(1) → 2.718
Math.log(x) Natural logarithm (ln(x)) Math.log(10) → 2.302
Math.log2(x) Base 2 logarithm of x Math.log2(8) → 3
Math.log10(x) Base 10 logarithm of x Math.log10(100) → 2

5. Kaedah Trigonometri

Method Description Example
Math.sin(x) Sine of x (x in radians) Math.sin(Math.PI / 2) → 1
Math.cos(x) Cosine of x (x in radians) Math.cos(0) → 1
Math.tan(x) Tangent of x (x in radians) Math.tan(Math.PI / 4) → 1
Math.asin(x) Arcsine of x (returns radians) Math.asin(1) → 1.57
Math.acos(x) Arccosine of x Math.acos(1) → 0
Math.atan(x) Arctangent of x Math.atan(1) → 0.785
Math.atan2(y, x) Arctangent of y / x Math.atan2(1, 1) → 0.785

6. Min, Maks dan Pengapit

Method Description Example
Math.max(...values) Returns the largest value Math.max(5, 10, 15) → 15
Math.min(...values) Returns the smallest value Math.min(5, 10, 15) → 5
Custom Clamping Restrict a value to a range Math.min(Math.max(x, min), max)

7. Kaedah Lain

Method Description Example
Math.sign(x) Returns 1, -1, or 0 based on sign of x Math.sign(-10) → -1
Math.fround(x) Nearest 32-bit floating-point number Math.fround(5.5) → 5.5
Math.clz32(x) Counts leading zero bits in 32-bit binary Math.clz32(1) → 31

Contoh

Integer Rawak Antara 1 dan 100

const randomInt = Math.floor(Math.random() * 100) + 1;
console.log(randomInt);

Kira Luas Bulatan

const radius = 5;
const area = Math.PI * Math.pow(radius, 2);
console.log(area); // 78.54

Tukar Darjah kepada Radian

const degrees = 90;
const radians = degrees * (Math.PI / 180);
console.log(radians); // 1.57

Cari Nombor Terbesar dalam Tatasusunan

const nums = [5, 3, 9, 1];
console.log(Math.max(...nums)); // 9

Kes Penggunaan Lanjutan untuk Objek Matematik

Objek Matematik mempunyai banyak aplikasi praktikal. Berikut ialah senarai senario biasa dan contoh untuk menggambarkan cara menggunakannya dengan berkesan.


1. Rawak

Hasilkan Integer Rawak Dalam Julat

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandomInt(1, 10)); // Random number between 1 and 10

Kocok Tatasusunan

function shuffleArray(arr) {
    return arr.sort(() => Math.random() - 0.5);
}
console.log(shuffleArray([1, 2, 3, 4, 5])); // Shuffled array

Simulasikan Gulungan Dadu

function rollDice() {
    return Math.floor(Math.random() * 6) + 1; // Random number between 1 and 6
}
console.log(rollDice());

2. Geometri dan Bentuk

Kira Luas Bulatan

const radius = 5;
const area = Math.PI * Math.pow(radius, 2);
console.log(area); // 78.54

Kira Hipotenus Segi Tiga

const a = 3, b = 4;
const hypotenuse = Math.hypot(a, b);
console.log(hypotenuse); // 5

Tukar Darjah kepada Radian

function degreesToRadians(degrees) {
    return degrees * (Math.PI / 180);
}
console.log(degreesToRadians(90)); // 1.57

3. Kewangan dan Perniagaan

Formula Faedah Kompaun

function compoundInterest(principal, rate, time, n) {
    return principal * Math.pow((1 + rate / n), n * time);
}
console.log(compoundInterest(1000, 0.05, 10, 12)); // 47.01

Membundarkan Nilai Mata Wang

const amount = 19.56789;
const rounded = Math.round(amount * 100) / 100; // Round to 2 decimal places
console.log(rounded); // 19.57

Kira Diskaun

function calculateDiscount(price, discount) {
    return Math.floor(price * (1 - discount / 100));
}
console.log(calculateDiscount(200, 15)); // 0

4. Permainan dan Animasi

Simulasikan Lambungan Syiling

function coinToss() {
    return Math.random() < 0.5 ? 'Heads' : 'Tails';
}
console.log(coinToss());

Fungsi Pelonggaran untuk Animasi Lancar

function easeOutQuad(t) {
    return t * (2 - t); // Simple easing function
}
console.log(easeOutQuad(0.5)); // 0.75

Koordinat Pemijahan Rawak dalam Grid 2D

function randomCoordinates(gridSize) {
    const x = Math.floor(Math.random() * gridSize);
    const y = Math.floor(Math.random() * gridSize);
    return { x, y };
}
console.log(randomCoordinates(10)); // e.g., {x: 7, y: 2}

5. Analisis Data

Cari Maksimum dan Minimum dalam Tatasusunan

const scores = [85, 90, 78, 92, 88];
console.log(Math.max(...scores)); // 92
console.log(Math.min(...scores)); // 78

Normalkan Data

function normalize(value, min, max) {
    return (value - min) / (max - min);
}
console.log(normalize(75, 0, 100)); // 0.75

6. Fizik dan Kejuruteraan

Kira Halaju Selepas Jatuh Bebas

const gravity = 9.8; // m/s^2
const time = 3; // seconds
const velocity = gravity * time;
console.log(velocity); // 29.4 m/s

Tempoh Bandul

function pendulumPeriod(length) {
    return 2 * Math.PI * Math.sqrt(length / 9.8);
}
console.log(pendulumPeriod(1)); // 2.006 seconds

7. Manipulasi Nombor

Kapit Nombor Dalam Julat

function clamp(value, min, max) {
    return Math.min(Math.max(value, min), max);
}
console.log(clamp(15, 10, 20)); // 15
console.log(clamp(5, 10, 20));  // 10

Tukarkan Nombor Negatif kepada Positif

console.log(Math.abs(-42)); // 42

Cari Bahagian Integer Nombor

console.log(Math.trunc(4.9)); // 4
console.log(Math.trunc(-4.9)); // -4

8. Penyelesaian Masalah

Semak sama ada Nombor ialah Kuasa 2

function isPowerOfTwo(n) {
    return Math.log2(n) % 1 === 0;
}
console.log(isPowerOfTwo(8)); // true
console.log(isPowerOfTwo(10)); // false

Hasilkan Nombor Fibonacci

function fibonacci(n) {
    const phi = (1 + Math.sqrt(5)) / 2;
    return Math.round((Math.pow(phi, n) - Math.pow(-phi, -n)) / Math.sqrt(5));
}
console.log(fibonacci(10)); // 55

9. Pelbagai

Hasilkan Warna Rawak (RGB)

function getRandomColor() {
    const r = Math.floor(Math.random() * 256);
    const g = Math.floor(Math.random() * 256);
    const b = Math.floor(Math.random() * 256);
    return `rgb(${r}, ${g}, ${b})`;
}
console.log(getRandomColor()); // e.g., rgb(123, 45, 67)

Kira Umur dari Tarikh Lahir

function calculateAge(birthYear) {
    const currentYear = new Date().getFullYear();
    return currentYear - birthYear;
}
console.log(calculateAge(1990)); // e.g., 34

Atas ialah kandungan terperinci Lembaran Cheat Objek Matematik JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn