從多個方面詳解 JavaScript 取絕對值

一、JavaScript 取絕對值函數

    function absoluteValue(num) {
        return Math.abs(num);
    }
    
    console.log(absoluteValue(-5)); // 5

JavaScript 提供了一個內置的取絕對值方法 Math.abs(),該方法接收一個數字參數,返回這個數字的絕對值。該方法可以應用於任何數字類型,包括負數、浮點數和數字字元串。

在以上代碼中,定義了一個名為 absoluteValue 的函數,該函數接收一個參數,傳遞給 Math.abs() 方法,最後返回絕對值。

二、JavaScript 數字取絕對值

    let negativeNum = -5;
    let positiveNum = 5;

    console.log(Math.abs(negativeNum)); // 5
    console.log(Math.abs(positiveNum)); // 5

對數字取絕對值是一個非常常見的需求,我們可以直接使用數字類型和 Math.abs() 方法來做到這一點。無論數字是正數還是負數,都可以傳遞給 Math.abs() 方法,方法會返回其絕對值。

三、JavaScript 取絕對值方法

    let str = '-5';
    let num = -5.5;
    let arr = [-5, 6, -3];

    console.log(Math.abs(str)); // 5
    console.log(Math.abs(num)); // 5.5
    console.log(arr.map(Math.abs)); // [5, 6, 3]

在 JavaScript 中,對於非數字類型的參數,可以使用 Number() 函數將它們轉換為數字進行絕對值計算。另外,將 Math.abs() 方法應用於數組時,可以使用 map() 函數,對數組中的每個值都應用 Math.abs()。

四、JavaScript 絕對值怎麼取

    let a = -1;
    let b = 0;
    let c = 1;
    let d = -Infinity;
    let e = '1234';

    console.log(Math.abs(a)); // 1
    console.log(Math.abs(b)); // 0
    console.log(Math.abs(c)); // 1
    console.log(Math.abs(d)); // Infinity
    console.log(Math.abs(e)); // 1234

取絕對值的很多用例中都會涉及到不同類型的值,如上代碼所示。對於負數,取其絕對值應該是常識了;對於 0,其絕對值還是 0;對於正數,其絕對值就是其本身;對於 +∞ 和 -∞,其絕對值仍然是 +∞ 和 -∞;對於數字字元串,其會被轉換為數字並取絕對值。

五、JavaScript 取絕對值的方法

在 JavaScript 中,除了使用 Math.abs() 方法外,還有其他方法用於取絕對值。下面列舉了一些常見的方法:

1. 使用條件運算符 ?:,比較數字和 0 的大小,如果小於 0,則返回相反數;如果大於等於 0,則返回本身。

        function abs(num) {
            return num < 0 ? -num : num;
        }
        console.log(abs(-5)); // 5
    

2. 使用位運算符 >> 0,將數字的小數部分削去,轉換為整數。

        function abs(num) {
            return (num ^ num >> 31) - (num >> 31);
        }
        console.log(abs(-5)); // 5
    

3. 使用指數運算符 **,對數字的平方進行開方運算。

        function abs(num) {
            return (num ** 2) ** 0.5;
        }
        console.log(abs(-5)); // 5
    

4. 使用 parseInt() 函數,將數字字元串轉換為數字類型,並取絕對值。

        function abs(str) {
            return Math.abs(parseInt(str));
        }
        console.log(abs('-5')); // 5
    

5. 使用 ES6 新增的指數運算符 ** 和三元運算符 ?: 的組合,將數字平方並開方,再判斷是否為負數,如果是,則返回相反數。

        function abs(num) {
            return num ** 2 ** .5 * (num < 0 ? -1 : 1);
        }
        console.log(abs(-5)); // 5
    

JavaScript 中取絕對值是一個非常基礎、實用的操作,還有很多其他的實現方法。對於需要頻繁使用的開發者,不妨掌握多種實現方式,以適應不同的場景。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193495.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 15:02
下一篇 2024-12-01 15:02

相關推薦

發表回復

登錄後才能評論