在javascript中声明空数组

时间:2015-03-25 11:20:26

标签: javascript jquery arrays ajax eval

更新

我的代码有效。页面加载时

    product= [[],[]]; 

然后在ajax调用后执行代码:

$('#contextreload ul').each(function(i, ul) {
product.push([]);
});

$('#contextreload ul').each(function(i, ul) {
  allline=i; 
  $('#reloadajax'+i+' li').each(function(lk, li) {
  var lilk = $(li).html();  product[i][lk]=lilk;

  // your code goes here
 });

  // your code goes here
});

使用eval();在ajax响应中,在php文件中有一些变化? 的 / endupdate

产物[0] = [1,2,3,4];

产物[1] = [A,B,X,Z];

产物[10] = [额外,额外,额外,额外];

当我加载页面时,执行此操作:product= [[],[],[],[],[],[],[],[],[],[]];

但是如果我声明这个,当我调用ajax时我可以 push 只向这个数组添加数据(10行) 如果我有11行(product[10][0]product[10][1]),则不会添加额外数据。 在ajax调用之后我需要额外的数据  :product= [[],[],[],[],[],[],[],[],[],[],**[11]**];

这个函数是因为我想在从php文件加载ajax数据之后将数据放入数组中。

$('#contextreload ul').each(function(i, ul) {
 <strike> var product = $(ul).html();  </strike>
    allline = i; 

    $('#reloadajax'+i+' li').each(function(lk, li) {
        var lilk = $(li).html();  
        product[i][lk]=lilk;
        alert(lilk+lk);
        // your code goes here
    });
    // your code goes here
});


}

4 个答案:

答案 0 :(得分:6)

在ajax调用的成功中使用函数push()

product.push([]);

这会在product的最后一个索引处添加一个数组。像这样,创建索引10并且您有一个额外的数据。

如果要添加动态行数,请使用以下代码:

var number_of_new_row = 11; // 11 for example, you can use any number >= 0
for(; number_of_new_row--;)
    product.push([]);

另一种方式

在ajax返回中,将数组product的新长度保存在全局变量中。 并在循环之前使用它来重置数组并使用新的长度初始化它。

var lengthArray = 10; // update the value in the callback of your ajax call

你的循环:

var product = [];
for(; lengthArray--;)
    product.push([]);

$('#contextreload ul').each(function(i, ul) {
    //<strike> var product = $(ul).html();  </strike>
    allline = i; 

    $('#reloadajax'+i+' li').each(function(lk, li) {
        var lilk = $(li).html();  
        product[i][lk]=lilk;
        alert(lilk+lk);
        // your code goes here
    });
    // your code goes here
});

答案 1 :(得分:2)

注意:代码的这一行会生成一个字符串,而不是一个数组。

var product = $(ul).html();  //returns string not an array

你需要的是像

var product_arr = {}; // an object or 
var product_arr = []; // an array

答案 2 :(得分:1)

以下代码用于在javascript中声明空数组

var product_arr = new Array(); //declaring empty array

console.log(product_arr);

答案 3 :(得分:0)

var product = [];

是我亲自寻找的答案