用for in计算计提的保险总额

为什么用for in计算计提的保险总额前两个算不对,但最后一个算对了

img

你的代码滚动条不在开头位置,代码最左边看不到
而且你也没说清楚,你的正确输出应该是什么,怎么不对

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/766449
  • 你也可以参考下这篇文章:别拦我,我要撞豆腐 ----- for循环中进行异常抛出,for循环还能继续循环吗?
  • 除此之外, 这篇博客: 总结:前端常用的循环遍历的方法中的 2、for in循环 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    let obj = {name:'zhou',age:'**'}
    for(let i in obj){
     console.log(i,obj[i])
    }
    // name zhou
    // age **
    

    for in 循环主要用于遍历普通对象,i 代表对象的 key 值,obj[i] 代表对应的 value.

    当用它来遍历数组时候,多数情况下也能达到同样的效果,但是你不要这么做,这是有风险的,因为 i 输出为字符串形式,而不是数组需要的数字下标,这意味着在某些情况下,会发生字符串运算,导致数据错误,比如:‘52’+1 = ‘521’ 而不是我们需要的 53。另外 for in 循环的时候,不仅遍历自身的属性,还会找到 prototype 上去,所以最好在循环体内加一个判断,就用 obj[i].hasOwnProperty(i),这样就避免遍历出太多不需要的属性。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^