+ -
当前位置:首页 → 问答吧 → 关于数组的问题请教

关于数组的问题请教

时间:2011-11-01

来源:互联网

//第一组input
  <INPUT TYPE="text" id="a" value="6">
  <INPUT TYPE="text" id="a1" value="2">
  <INPUT TYPE="text" id="a2" value="6">
  <INPUT TYPE="text" id="a3" value="8">

  //第二组input
  <INPUT TYPE="text" id="b" value="6">
  <INPUT TYPE="text" id="b1" value="3">
  <INPUT TYPE="text" id="b2" value="6">
  <INPUT TYPE="text" id="b3" value="8">

  //第三组input
  <INPUT TYPE="text" id="c" value="">
  <INPUT TYPE="text" id="c1" value="">
  <INPUT TYPE="text" id="c2" value="">
  <INPUT TYPE="text" id="c3" value="">
 
  //第四组
  。。。。。。

 将每一组input放入数组中, 可能有N组INPUT。

需求是 第一组input的value值 加上 第二组input的value值 与其他value比较不能重复.
上面的示例,a+b 都是6 ,a2+b2 也是6 所有应该返回false 。
a3+b3 都是8 与其他a*+b*不重复 所有返回true 。

不限与2组value比较,可能有多组input比较.
这么说不知道能看明白吗?

作者: nfclass   发布时间: 2011-11-01

实话不太明白

作者: liangws   发布时间: 2011-11-01

a+b不是12么?

作者: liangws   发布时间: 2011-11-01

JScript code

function CompareArray(arrayArgs,n)
{
    var valsObj={};
    var nval;
    for(var i=0;i<4;i++)
    {
        var val=0;
        for(var j=0;j<arrayArgs.length;j++)
        {
            val+=parseInt(arrayArgs[j][i]);
        }
        if(valsObj[val]==undefined)
          valsObj[val]=1;
        else
           valsObj[val]=2;
        if(i==n)
          nval=val;  
    }

    if(valsObj[nval]==1)
        return true;
    else
        return false;
}

var a=[6,2,6,8];
var b=[6,3,6,8]
var newArray=new Array();
newArray.push(a);
newArray.push(b);
 var aa=CompareArray(newArray,0); //比较2
 alert(aa);

作者: andyalex   发布时间: 2011-11-01

不知道是不是你想要的

作者: andyalex   发布时间: 2011-11-01

每组限定了是4个没有 ?

作者: zell419   发布时间: 2011-11-01

引用 5 楼 zell419 的回复:

每组限定了是4个没有 ?


不限定,可能N个

作者: nfclass   发布时间: 2011-11-01

查不多就这个意思,但是可能有多个数组, 不止a,b两个数组。如果有20个界面就得写20个JS 有点麻烦

引用 3 楼 andyalex 的回复:

JScript code

function CompareArray(arrayArgs,n)
{
var valsObj={};
var nval;
for(var i=0;i<4;i++)
{
var val=0;
for(var j=0;j<arrayArgs.length;j++)
{
……

作者: nfclass   发布时间: 2011-11-01

那个方法可以传多个数组,参数就是数组
JScript code

ar a=[6,2,6,8];
var b=[6,3,6,8];
var c=[9,8,5,6];
var d=[9,8,5,6];
var newArray=new Array();
newArray.push(a);
newArray.push(b);
newArray.push(c);
newArray.push(d);
 var aa=CompareArray(newArray,0); //比较2



我上面写2个,只是举例

作者: andyalex   发布时间: 2011-11-01

arrayArgs是一个二维数组, 明白?

作者: andyalex   发布时间: 2011-11-01

引用 9 楼 andyalex 的回复:

arrayArgs是一个二维数组, 明白?


哦,有点明白了。晚上回去测一下行不行

作者: nfclass   发布时间: 2011-11-01