expandedForm(
12);
// Should return '10 + 2'
expandedForm(
42);
// Should return '40 + 2'
expandedForm(
70304);
// Should return '70000 + 300 + 4'
人类的解法:
function
expandedForm(
num) {
res={};
ans=[];
var
weight=
1;
while(
num)
{
res[
weight]=
num%
10;
weight*=
10;
num=
parseInt(
num/
10);
}
for(
var
i
in
res)
{
if(
res[
i])
ans.
unshift(
i*
res[
i])
}
ans=
ans.
join(
' + ');
//console.log(ans);
return
ans;
}
es 6 箭头极简风格
const
expandedForm =
n
=>
n.
toString()
.
split(
"")
.
map((
num,
index,
arr)
=>
num+
'0'.
repeat(
arr.
length-
index-
1))
.
filter((
num)
=>
Number(
num)!=
0)
.
join(
' + ');
console.
log(
expandedForm(
70304));