目标: 我正在创建一个将从旧网站中提取数据的系统。我正在读取每个li的数据,并尝试将其放入数组中,以便可以将其转换为json。
我尝试过的
定义2个数组和循环的最大限制
var valueToPush = new Array();
var cookie_value_add = new Array();
var maxvalue = $("ul.list-inline").length + 1;
运行for循环,以便我可以读取所有数据并分配所有变量。
var i;
for (i = 1; i < maxvalue; i++) {
var addLine1 = $( "ul#"+i+" li:nth-child(2) span:nth-child(1)" ).text();
var addLine2 = $( "ul#"+i+" li:nth-child(2) span:nth-child(3)" ).text();
var teL = $( "ul#"+i+" li:nth-child(3) span:nth-child(1) a" ).attr("href");
var fistName = $( "ul#"+i+" li:nth-child(4) span:nth-child(1) b" ).text();
var lastName = $( "ul#"+i+" li:nth-child(4) span:nth-child(2) a" ).text();
如果我得到一些值,那么放入2D数组
if(teL==null){
//will do something
}else{
// alert('doing');
// var dataX.push([addLine1, addLine2, teL, fistName, lastName]);
valueToPush['0'] = addLine1;
valueToPush['1'] = addLine2;
valueToPush['2'] = teL;
valueToPush['3'] = fistName;
valueToPush['4'] = lastName;
cookie_value_add.push(valueToPush);
}
}
试图查看正确的数据的确切长度
alert(cookie_value_add.length);
试图警告处于第5行和第3个值的数据,但它显示的是最后一行的数据,这就是问题。
alert(cookie_value_add[5]['3']);
试图将所有内容隐藏到json中,它可以正常工作,但显示最后一行在Json字符串的每一行中
var myJSON = JSON.stringify(cookie_value_add);
alert(myJSON);
即使在堆栈溢出的情况下,我也在Internet上进行了大量搜索,但找不到所需的一切。 谢谢。
答案 0 :(得分:0)
您无需再次全局声明它,而是需要再次创建一个设置新值的新变量并将其压入数组。我认为修改此代码将对您有所帮助
if(teL==null){
//will do something
}else{
var valueToPush = new Array(); // modified
valueToPush['0'] = addLine1;
valueToPush['1'] = addLine2;
valueToPush['2'] = teL;
valueToPush['3'] = fistName;
valueToPush['4'] = lastName;
cookie_value_add.push(valueToPush);
}
}