Heim >Web-Frontend >js-Tutorial >Spickzettel für JavaScript-Matheobjekte

Spickzettel für JavaScript-Matheobjekte

Linda Hamilton
Linda HamiltonOriginal
2024-11-26 15:08:08234Durchsuche

JavaScript Math Object Cheatsheet

Das Math-Objekt in JavaScript stellt eine Reihe von Eigenschaften und Methoden zum Ausführen mathematischer Aufgaben bereit. Hier ist ein umfassender Spickzettel für das Math-Objekt.


Eigenschaften

Das Math-Objekt verfügt über eine Reihe von Konstanten:

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

Methoden

1. Rundungsmethoden

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. Zufallszahlengenerierung

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. Arithmetische Methoden

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. Exponentielle und logarithmische Methoden

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. Trigonometrische Methoden

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., Max. und Klemmung

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. Andere Methoden

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

Beispiele

Zufällige ganze Zahl zwischen 1 und 100

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

Berechnen Sie die Kreisfläche

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

Konvertieren Sie Grad in Bogenmaß

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

Finden Sie die größte Zahl in einem Array

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

Erweiterte Anwendungsfälle für das Mathematikobjekt

Das Mathe-Objekt hat viele praktische Anwendungen. Hier ist eine Liste gängiger Szenarien und Beispiele, um zu veranschaulichen, wie man es effektiv nutzt.


1. Randomisierung

Erzeugen Sie eine zufällige Ganzzahl innerhalb eines Bereichs

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

Mischen Sie ein Array

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

Simulieren Sie einen Würfelwurf

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

2. Geometrie und Formen

Berechnen Sie die Fläche eines Kreises

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

Berechnen Sie die Hypotenuse eines Dreiecks

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

Konvertieren Sie Grad in Bogenmaß

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

3. Finanzen und Wirtschaft

Zinseszinsformel

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

Währungswerte runden

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

Rabatte berechnen

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

4. Spiele und Animation

Simulieren Sie einen Münzwurf

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

Beschleunigungsfunktionen für flüssige Animationen

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

Zufällige Laichkoordinaten in einem 2D-Gitter

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. Datenanalyse

Finden Sie das Maximum und das Minimum in einem Array

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

Daten normalisieren

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

6. Physik und Ingenieurwesen

Berechnen Sie die Geschwindigkeit nach dem freien Fall

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

Periode eines Pendels

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

7. Zahlenmanipulation

Begrenzen Sie eine Zahl innerhalb eines Bereichs

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

Konvertieren Sie negative Zahlen in positive

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

Finden Sie den ganzzahligen Teil einer Zahl

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

8. Problemlösung

Überprüfen Sie, ob eine Zahl eine Potenz von 2 ist

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

Generieren Sie Fibonacci-Zahlen

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. Verschiedenes

Zufällige Farben generieren (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)

Berechnen Sie das Alter anhand des Geburtsdatums

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

Das obige ist der detaillierte Inhalt vonSpickzettel für JavaScript-Matheobjekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn