为了账号安全,请及时绑定邮箱和手机立即绑定

以扩展形式写数字

以扩展形式写数字

交互式爱情 2021-08-20 15:31:09
我正在做一些代码练习,即将创建一个函数expandedForm来接受一个数字参数,下面的例子会更清楚..expandedForm(12); // Should return '10 + 2'expandedForm(42); // Should return '40 + 2'expandedForm(70304); // Should return '70000 + 300 + 4'我的解决方案:function expandedForm(num) {  // Your code here  let numStr = num.toString().split('');    for(let i = 0 ; i < numStr; i++ ){            for(let y = numStr.length; y > 1; y--){         numStr[i] += '0';          // console.log(y);  use this to debug y, and no y value print out from console      }  }    return numStr.join('+')}console.log(expandedForm(23));如果我测试 expandForm(23),结果是“2+3”,y 值也没有打印到控制台,谁能告诉我我的解决方案有什么问题?谢谢。解决方案谢谢大家,感谢您指出我的variable y初始 in for 循环不正确,i < numStr以及(愚蠢的错误)。在查看我的代码并受到以下一些建议的启发后,我的最终解决方案是 function expandedForm(num) {      // Your code here      let numStr = num.toString().split('');            for(let i = 0 ; i < numStr.length; i++ ){                    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.startsWith(0));      return numStr.join(' + ')    }    console.log(expandedForm(23));
查看完整描述

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));


查看完整回答
反对 回复 2021-08-20
  • 2 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信