在jquery中向2D数组添加元素

时间:2012-08-24 04:49:25

标签: javascript jquery

  

可能重复:
  How to create a two dimensional array in JavaScript?

我想将元素推送到2D数组,

我的代码是,

        var results = [];
        var resultstemp = [];
        function bindlinks(aamt,id1) {
        resultstemp=results;        
            imagesArray.push($("#image1").mapster("get"));

            if(results.length==0)
            {
            results.push([id1]);    
            }
            else
            {
               var ck=0;
               var lng=results.length;
                for (var i = 0; i < lng; i++) {

                  if(results[i]==id1)
                  {

                    ck=1;
                     results = jQuery.grep(results, function(value) {
                        return value != id1;
                      });

                  }                                     
                }                   
                if(ck==0)
                {
                results.push(id1);                  
                }                   
            }

我想将id以及aamt推送到数组。在这里,我只推送id到数组。我不确定如何将aamt添加到2D数组中的第二个位置。

请帮帮我,

谢谢

2 个答案:

答案 0 :(得分:6)

按如下方式更改声明:

var results = new Array();

并按如下方式更改push

results.push([id1,aamt]);

希望它会有所帮助

答案 1 :(得分:0)

在同一个数组中均匀地推送两个单独值的方法背后的逻辑是这样的:

var array = [];
function push(id1, aamt) {
    for (var i= 0; i < 10; i++) {
        if (i%2 == 0) {
            array.push(id1);
        }
        else {
            array.push(aamt);
        }
    }    
}

push(10, 12);
console.log(array); // 10, 12, 10, 12.....

请注意我抽象了相当多的代码,因为对我而言代码应该做的不是太明显,但原理很简单:使用modulo(%)运算符来测试值是否值是奇数还是偶数。如果奇数加上第一个值,如果加上第二个值。

希望它有所帮助。