或者换个说法
如何让数组A中相同值的项进行合并
如  A['a','b','c','a']
    B['1','2','3','4']
    C['d','c','v','x']
合并后
   D['a'|'5'|'d+x']['b'|'2'|'c']['c'|'3'|'v']

解决方案 »

  1.   

    D = A.concat( B).concat(C)
      

  2.   

    差不多吧
    现有几个一维数组,通过arry(i)来连接成每个name的信息
    这些name会有重复,所以需要组合一下把相同name的信息组合在一起
    比如说我用shop这个name购物一样,几个一维数组分别定义我买的物品名,消费多少...等等
    现在要实现只要是我买的物品都放在一起,价格相加总和放进数组如  A['a','b','c','a']
        B['1','2','3','4']
        C['d','c','v','x']
    合并后
       D['a'|'5'|'d+x']['b'|'2'|'c']['c'|'3'|'v']
      

  3.   

    这样能否实现呢?
    D[A[]][B[]][C[]]
    要如何关联
      

  4.   

    name[]      .........A[]
    price[]     .........B[]
    item[]      .........C[]
    fixArry[]   .........D[]
      

  5.   

    以下代码测试通过: var src = [
      ['a','b','c','a'],
      ['1','2','3','4'],
      ['d','c','v','x']
    ];
    var h = new Array(src[0].length);
    var ary = [];
    for( var i = 0; i < src[0].length; i++ )
    {
      if( h[i] )
      {
        continue;
      }
      var Columns = GetColumns( src[0], i );
      var col1 = 0;
      var col2 = [];
      for( var j = 0; j < Columns.length; j++ )
      {
        col1 += parseFloat(src[1][Columns[j]]);
        col2.push( src[2][Columns[j]] );
      }
      ary.push(src[0][i]);
      ary.push(col1.toString());
      ary.push(col2.join('+'));
    }
    alert(ary);function GetColumns( ary, index )
    {
      var r = [];
      var v = ary[index];
      r.push(index);
      for( var i = index+1; i < ary.length; i++ )
      {
        if( h[i] )
        {
          continue;
        }
        if( ary[i] == v )
        {
          h[i] = true;
          r.push(i);
        }
      }
      return r;
    }拷下即可运行观看效果
      

  6.   

    你要组合出来的不是一数组那还不简单,连续三行的ary.push那里,再定义一个数组,将这些push替换为这个新数组的push,然后将这个数组push入ary就不是一维了。
      

  7.   

    主要是没有你对这些方法熟啊
    脚本里这个push我就不会用
      

  8.   

    能具体说下script里这个.push的用法么
      

  9.   

    push是栈的操作,而JS数组就是栈的一实现,它在数组尾插入一元素。
    a = [ "a", "b"]
    a.push("c");
    //a = ["a","b","c"]
      

  10.   

    var src = [A[]][B[]][C[]]
    这样也可以么?
    A与B,C都是相关联的信息啊
    用三维数组是不是要好些呢?
      

  11.   

    我那里有用到,src就是你说的这种“二维”数组[JS数组本质是一维,只是其第一元素也是数组]
      

  12.   

    A['a','b','c','a'],
      B['1','2','3','4'],
       C['d','c','v','x']
    因为我能读到就是是类似这样的几个一维数组
    这几个数组堆是通过顺序进行信息连系
    我可能要用到分别按照不同的数组的信息进行检索,所以希望可以做到像这样Arry[][][]的数组
    这样的是不是会容易些呢?
      

  13.   

    A B C都是动态加载的数组啊
    怎么传给你!随时都可能更新啊
      

  14.   

    function CpAry( a, b, c )
    {
    var h = new Array(a.length);
    var ary = [];
    for( var i = 0; i < a.length; i++ )
    {
    if( h[i] )
    {
    continue;
    }
    var Columns = GetColumns( a, i, h );
    var col1 = 0;
    var col2 = [];
    for( var j = 0; j < Columns.length; j++ )
    {
    col1 += parseFloat(b[Columns[j]]);
    col2.push( c[Columns[j]] );
    }
    var t = [];
    t.push(a[i]);
    t.push(col1.toString());
    t.push(col2.join('+'));
    ary.push( t );
    }
    return ary;
    }

    alert( CpAry( ['a','b','c','a'], ['1','2','3','4'], ['d','c','v','x']) );

    function GetColumns( ary, index, h )
    {
    var r = [];
    var v = ary[index];
    r.push(index);
    for( var i = index+1; i < ary.length; i++ )
    {
    if( h[i] )
    {
    continue;
    }
    if( ary[i] == v )
    {
    h[i] = true;
    r.push(i);
    }
    }
    return r;
    }===============
    以上结果为
    [
    ["a","5","d+x"],
    ["b","2","c"],
    ["c","3","v"]
    ]
      

  15.   

    我没用MSN,快上班了,你就用上面这个吧。
    CpAry返回的是一个“二维”数组。
    var ary = CpAry(/*加正确的参数*/);ary[0][0],
    ary[0][1],
    ary[0][2],
    ary[1][0],
    ary[1][1],
    ary[1][2],
    这种方式可用。
      

  16.   

    <script>
    A=['a','b','c']
    B=['1','2','3']
    C=[]
    C[1]=A
    C[2]=B
    alert(C[1][1])
    alert(C[2][2])
    </script>
      

  17.   

    myvicy(热心肠的人) 
    谢谢你的回贴
    可是你写的过于简单了达不到我的要求呵呵
      

  18.   

    请教 Amwpfiqvy(ContextMenu) 
    var ary = CpAry(/*加正确的参数*/);
    CpAry(这里的参数是动态的,我要如何加载呢?)
    数组是加载而来的function CreateDomScript(url,objId)
      

  19.   

    更正一下
    不是说要如何加载
    是加载过来的数组我要如何让它们显示在CpAry()里面
      

  20.   

    你想怎么调用CpAry,
    是CpAry( A, B, C );
    还是CpAry( [ A, B, C, ... ] );
    ??????