[英]how to take a number and returns an array of strings javascript
練習:創建一個 function,它接受一個數字並返回一個字符串數組,其中包含在每個數字處截斷的數字。 例子:420 應該返回 ["4", "42", "420"]; 2017 應該返回 ["2", "20", "201", "2017"]
這是我的代碼,我怎樣才能減少它的聲明性? 沒有推動就找不到解決方案。 是的,我花了很多時間嘗試以聲明方式解決它。謝謝。
function createArrayOfTiers(num) {
arrT= num.toString().split("")
let z= []
const result = arrT.reduce((acc, curr)=>{
acc= acc+curr
z.push(acc)
return acc
},"")
return z;
}
PS:輸入保證是[0, 1000000]范圍內的integer
您可以通過使用保留前面字符的閉包來獲取一個字符串並從中返回一個數組。
Array.from
與iterables一起使用,字符串和數組只有一個字符作為值。
以下映射采用空字符串的閉包。 這個閉包返回一個 function 用於映射。 v
是數組的一個元素,就像標准的Array#map
回調一樣。
Array.from(
number.toString(), // take iterables
(s => v => s += v)('') // map value of array with the previous elements
)
const getParts = number => Array.from(number.toString(), (s => v => s += v)('')); console.log(getParts(2017));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.