封裝一個函數使得數組內的任意項求和

封裝函數

一、例如咱們的需求是輸出sum( 1,3,NaN,'qqq','4')的和爲8
複製代碼
function sum() {
        var t = 0
        for (var i = 0; i < arguments.length; i++) {
            //arguments[i]對應的就是每個實參
            //t+=arguments[i] //不考慮非合法數字
            if (!isNaN(arguments[i])) {
                //得是數字並且還不能是NaN
                t += arguments[i] / 1
            }
        }
        return t
    }
    console.log(sum(1, 3, NaN, 'qqq','4'))
複製代碼

關鍵點

此函數主要的關鍵點在 arguments[i] 這裏 arguments表明實參的集合在咱們不知道到底須要多少實參時用arguments......... (注 arguments在箭頭函數中不存在因此不能在箭頭函數中使用)bash

其次 for (var i = 0; i < arguments.length; i++)這段代碼是循環須要的實參相加 if (!isNaN(arguments[i]))判斷其中每個實參是不是數字且不是NaN(由於NaN和任何數字運算都是NaN)函數

t += arguments[i] / 1這段代碼的做用是把不是NaN的項相加 其中/的做用是將字符串型的數字轉成Number類型ui

相關文章
相關標籤/搜索