在Javascript的For循环中从另一个数组中填充数组
Populating Array from Another Array in a For Loop in Javascript
我正在根据logfile.txt的输出创建一个运行状况监控器。我正在将整个日志读取到数组中,然后在for循环中处理数组。
var txtFile = new XMLHttpRequest();
txtFile.open("GET", "EarLog.txt", true);
txtFile.onreadystatechange = function() {
if (txtFile.readyState === 4 && txtFile.status === 200) {
allText = txtFile.responseText;
lines = txtFile.responseText.split("'n");
}
var i = 0;
var name;
var status;
for (i = 5; i < 31; i++) {
var res = lines[i].split(": ");
name = res[0]
status = res[1];
}
document.write("<br>" + name[1] + "<br>")
}
txtFile.send(null);
这是我正在读取的日志文件的一部分。
"Checkout Started at 14:52:11.57 :: Fri 07/24/2015"
StarTeam 11.0 Command Line Interface, Build 11.0.0.82
Copyright (c) 2003-2009 Borland Software Corporation. All rights reserved.
Using ini file: C:'ProgramData'Borland'StarTeam'ConnectionManager.ini
Folder: deployment (working dir: C:'Deployment'EARS'FutureRelease)
servicing.ear: skipped
portal.ear: checked out
.
.
.
communications.ear: checked out
"Checkout Completed at 14:54:11.63 :: Fri 07/24/2015"
然而,不是用每个耳朵的名字填充name,而是用最后一行读到的每个字母填充name,在本例中是通信。所以当我写
的时候document.write(name[10])
不显示第十只耳朵,而是显示最后一只耳朵的第十个字母。对于状态也会出现同样的问题。基本上,我希望能够调用变量名[1],并让它显示字符串"portal"。Ear"并调用变量status[1],并让它显示字符串"checked out",等等。
将代码块更改为:
var i=0;
var name = [];
var status = [];
for (i = 5; i < 31; i++) {
var res = lines[i].split(": ");
name.push(res[0]);
status.push(res[1]);
}
基本上,你是在一个变量中存储值,而不是在数组中,所以当你调用name[10]时,它实际上指的是字符串变量,而不是String[]。
变量name
和status
是字符串,而不是数组。所以当你试图访问第n个元素时,你得到的是第n个字母。
如果你希望它们是数组,修改:
var name;
var status;
:
var name = [];
var status = [];
然后使用push方法填充数组。变化:
name = res[0]
status = res[1];
:
name.push(res[0]);
status.push(res[1]);
然后你可以引用存储在name/status数组中的字符串,如name[10], status[23]等
相关文章:
- JavaScript数组包含一个值
- 使用事件更改数组的一个元素
- 从 javascript 数组创建一个 Jquery 数组
- 使用javascript匹配字符串中数组的一个元素
- Angular2从数组创建一个列表
- 在Javascript数组或一个对象中存储多个数据所需的Tweak
- 你能给被劫持的JavaScript数组添加一个函数吗
- 从带有循环的数组中一个接一个地在画布上绘制形状
- 将图像数组从一个窗口传递到另一个窗口,并在javascript的新窗口中显示图像
- 使用拆分字符串的数组创建一个对象
- 多维数组 - 创建一个表
- 将数组从一个函数传递到另一个函数
- 如何将复选框值的数组从一个JSP页面传递到另一个页面
- 使用Knockout.Js将数组绑定到表,并将数组的一个项绑定到另一个元素
- 需要访问数组从一个js到另一个
- 我如何发送数据像数组从一个html文件到另一个html页面
- 从另一个对象和要保存的键数组生成一个对象的最简洁的方法
- 用另一个js数组填充一个javascript数组
- 将对象数组从一个函数传递到另一个函数
- 根据另一个值数组过滤一个对象数组,返回一个空列表