javascript - 数组可以存储在javascript中的函数中吗?
问题描述
我很好奇,数组可以存储在函数中吗?当我在我的函数中声明一个数组时。由于无法读取该值而出错,一旦我将其从函数中取出,则可以读取该值。
function decades(e) {
var decadesArray = ["one decade",
"two decades",
"three decades",
"four decades",
"five decades",
"six decades",
"seven decades",
"eight decades",
"nine decades",
"millennium"];
for( var i = 0; i <= 100; i++) {
if (i % 10 == 0) {
console.log("decadesArray[0]");
}
}
}
几十年(一);
解决方案
您想要做的是在您的 if 语句中,每次 if 语句为真时移动/拼接出数组元素之一。在您的情况下,您每次都会移动第一个数组元素。
function decades(e) {
var decadesArray = ["one decade",
"two decades",
"three decades",
"four decades",
"five decades",
"six decades",
"seven decades",
"eight decades",
"nine decades",
"millenium"];
for( var i = 0; i <= 100; i++) {
console.log("Year: ",i);
//check if i is greater than 0
//otherwise when i is 0 will be considered
//the first decade
if (i % 10 == 0 && i>0) {
console.log( decadesArray.shift(), i );
}
}
}
decades();console.log( decadesArray[i/10] || i );
如果您不想实际提取数组的每个元素,则可以将(i-10)/10
其用作数组的索引并将其打印出来,如果该索引最终成为,undefined
则只需打印该数字。
function decades(e) {
var decadesArray = ["one decade",
"two decades",
"three decades",
"four decades",
"five decades",
"six decades",
"seven decades",
"eight decades",
"nine decades",
"millenium"];
for( var i = 0; i <= 100; i++) {
console.log( decadesArray[(i-10)/10] || i );
}
}
decades();
推荐阅读
- html - 如何对齐同一行中的两个标题?
- google-analytics-api - 随机“用户对此配置文件没有足够的权限。” 来自 Google Analytics API v3 的错误
- mysql - 奇怪的 MySQL JOIN,我想包含匹配项并且没有来自连接的匹配项
- cmake - 如何将 PUBLIC_HEADER 设置为文件列表?
- python - 返回对 PyO3 中成员字段的引用
- python - 重叠时如何获得不同线性化线图的累积和
- office-js - 为日历会议创建 Outlook 插件
- python - Discord.py - 消息,只有一个用户可以在服务器中看到
- sharepoint - 在我的 Sharepoint 站点中找不到启用快速启动的选项
- java - 对 entrySet 进行排序
按键