如何用JavaScript的for循环改写这段重复的localStorage获取代码?
使用for循环简化localStorage计数器取值代码
你可以用数组来统一存储这些计数器的值,通过for循环自动遍历0到6的索引,避免重复代码:
// 初始化数组存储所有counter的值 const counters = []; for (let i = 0; i <= 6; i++) { // 用模板字符串拼接键名,自动获取counter0到counter6 counters[i] = localStorage.getItem(`counter${i}`); }
之后如果需要访问某个计数器的值,直接通过数组索引调用即可,比如counters[0]就对应原来的ifCounterExists0,counters[1]对应ifCounterExists1,以此类推。
如果一定要保留类似原代码的独立变量命名形式,也可以用对象来存储:
const counterStore = {}; for (let i = 0; i <= 6; i++) { counterStore[`ifCounterExists${i}`] = localStorage.getItem(`counter${i}`); } // 访问方式:counterStore.ifCounterExists0 或者 counterStore['ifCounterExists0']
相比单个变量的写法,数组或对象的方式更易维护——如果之后需要增加更多计数器(比如到counter10),只需要修改循环的终止条件(把i <= 6改成i <= 10),不需要手动添加一堆变量。
内容的提问来源于stack exchange,提问作者Lucas Vieira
相关产品推荐
相关产品推荐

