【发布时间】:2017-10-24 09:32:10
【问题描述】:
这是我目前的代码:
let array = [`1 (1).jgp`,`1 (2).jgp`,`1 (3).jgp`,`1 (4).jgp`,`1 (5).jgp`,`1 (6).jgp`,`1 (7).jgp`,`1 (8).jgp`,`1 (9).jgp`,`1 (10).jgp`,`1 (11).jgp`]
//rest of the code
有没有更有效的数据存储方式?
我试过了:
for (i = 0; i < 12; i++) {
let array = [`1`+(i)+`.jgp`]
};
//rest of the code
但是,当我尝试调用数组时,它返回: 未捕获的 ReferenceError:未定义数组 在:1:1
我也试过了:
let array = [`1`+(i = 0; i < 12; i++)+`.jgp`]
//rest of the code
但返回:Uncaught SyntaxError: Unexpected token ;
请让我知道我做错了什么?或者我怎样才能让这段代码更有效率。 谢谢,
【问题讨论】:
-
“或者我怎样才能让这段代码更高效。” 定义“高效”。就速度而言,您的第一个代码块是迄今为止最高效的,这并不重要...如果您的意思是内存使用,您必须展示如何使用数组.如果您的意思是代码大小/复杂性,您希望应用什么标准?
-
为什么你像使用模板文字一样使用反引号,然后像使用普通字符串一样添加字符串?模板文字允许你做类似`
1 (${i}).jpg`之类的东西,你不需要添加字符串,这就是它们的全部意义。 -
为什么要对字符串使用反引号?由于解析内容的开销,不建议在没有变量的字符串中使用模板文字。
-
只是另一个提示,也许您考虑更改图像的命名结构...
-
不确定我是否应该将其标记得太宽泛或建议 codereview.SE。我们不会在任何网络上真正做“修复此代码”的问题。您应该将其归结为实际问题,“我如何迭代 12 次”。
标签: javascript arrays loops