Javascript多维数组,数据推送在每一行中添加相同的数据

时间:2019-01-03 15:00:03

标签: javascript jquery html arrays

目标: 我正在创建一个将从旧网站中提取数据的系统。我正在读取每个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上进行了大量搜索,但找不到所需的一切。 谢谢。

1 个答案:

答案 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);
    }
}