2 回答

TA贡献2051条经验 获得超10个赞
您需要使用 (numStr.length -i) 初始化第二个循环 y,因为在扩展形式中,每次迭代都应减少零,这与您的情况不同。
您还需要过滤结果并在 "70000 + 0+ 300 + 0 + 4 " ==> "70000 + 300 + 4 " 的情况下使用 filter numStr = numStr.filter(value => value !== '0');
这应该打印正确的展开形式
function expandedForm(num) {
// Your code here
let numStr = num.toString().split('');
for(let i = 0 ; i < numStr.length; i++ ){
if(numStr[i]!=0){
for(let y = (numStr.length-i); y > 1; y--){
numStr[i] += '0';
//console.log(y); //use this to debug y, and no y value print out from console
}
}
}
numStr = numStr.filter(value => value !== '0');
return numStr.join('+')
}
console.log(expandedForm(23));
添加回答
举报