for循环中的选填参数

    const arr = [1, 2, 3]
    for (let i = 0; i < arr.length; i++) {
      console.log(i);
    } 

在日常开发中,很多时候会用到for循环,那你是否知道当for循环中的第一个参数或者第三个参数不填的时候,会有什么作用呢?

情况一  第一个参数不填 

var longestCommonPrefix = function(strs) {
if (strs.length === 0) return "";
let one = strs[0];
for (let i = 1; i < strs.length; i++) {
    let j = 0;
    // j 要小于strs数组中的从第二个元素开始的字符串长度
    // 并且要小于one,也就是strs第一个元素字符串的长度
    for (; j < strs[i].length && j < one.length; j++) {
        if (strs[i][j] !== one[j]) break;
    }
    // 第二个for循环的第一个参数不填,是为了在第二个for循环外面也能用到j参数
    one = strs[i].substr(0, j);
    if (one === "") return ""
}
return one;
};

for循环中第一个参数不填,是为了在for循环外面,也能使用第一个参数  


 情况二  第三个参数不填 

var romanToInt = function(s) {
const obj = {
    I: 1,
    IV: 4,
    V: 5,
    IX: 9,
    X: 10,
    XL: 40,
    L: 50,
    XC: 90,
    C: 100,
    CD: 400,
    D: 500,
    CM: 900,
    M: 1000,
};
let result = 0;
for (let i = 0; i < s.length;) {
    if (i + 1 < s.length && obj[s.substring(i, i + 2)]) {
        result += obj[s.substring(i, i + 2)];
        i += 2;
    } else {
        result += obj[s.substring(i, i + 1)];
        i++;
    }
}
return result;
};

 for循环中第三个参数不填,是为了在不同的条件下,为for循环设置不同的步长。


拓展 
substr 和 substring的区别 

    const str = "123456789";
    console.log(str.substr(2,5)); // 34567
    console.log(str.substring(2,5)); // 345 
    console.log(str.slice(2, 5)); // 345
    console.log(str); // 123456789

substr 第二个参数是长度
substring 第二个参数是索引值
slice 类似于substring,第二个参数也是索引值

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我来C咯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值