2017-04-07 103 views
0

我想寫一個函數,它需要一個多位數字並返回一個包含每個數字平方的結果的數字。爲什麼我的join()方法不起作用?

我可以成功地將數字轉換爲字符串並使用地圖方法對每個數字進行平方,但是當我嘗試將數組連接回單個數字時,它失敗了。

這裏是我的代碼:

function squareDigits(num){ 
    let numArray = num.toString().split("").map(Number); 
    return numArray.map(function(number){ 
    return Math.pow(number, 2).join(''); 
    }); 
} 
squareDigits(52); 

回答

0

Math.pow返回Number,不是一個數組,但Array.prototype.map一樣。 join是一種Array.prototype方法。

+0

但是怎麼來的,然後如果我刪除了。加入()什麼是返回是一個數組: [25,4]?我希望結果只是254. –

+0

做你的調用結果連接到'.map' ... –

+0

謝謝,我做了,而它的工作,數字是在一個字符串。我無法將其轉換回數字。 –

2

試試這個。您的。加入()錯誤放置

function squareDigits(num){ 
    let numArray = num.toString().split("").map(Number); 
    return numArray.map(function(number){ 
    return Math.pow(number, 2) 
    }).join(''); 
} 
+0

輝煌,這很有道理!謝謝。 –

+0

小東西,但它把數字放入一個字符串 –