你怎么'搜索'在javascript中数组的数组? [英] How do you 'search' an array of arrays in javascript?

查看:89
本文介绍了你怎么'搜索'在javascript中数组的数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要搜索一个数组的数组,看看是否存在等于特定阵列我公司供应的数组。我试图用的indexOf()但是这是行不通的。有没有人有一个很好的技术为这个?

 变种进制= [['1','2'],['3','4'],['5','6']];
(['1','2'])ary.indexOf; //我想在这里得到0,或者类似的东西-1,如果它不是present


解决方案

\r
\r

VAR元= ['1','2'],['3 ','4'],['5','6']];\r
\r
函数包含(数组值){\r
  对于(VAR I = 0; I< array.length,我++){\r
    如果(阵列[我] ===值)\r
      返回true;\r
    如果(价值的instanceof阵列\r
        &功放;&安培;数组[I]数组的instanceof\r
        &功放;&安培; value.length ==阵列[我]。长度){\r
      VAR发现= TRUE;\r
      对于(VAR J = 0; J< value.length; J ++)\r
        如果(价值[J] ==阵列[我] [J]。)\r
          找到= FALSE;\r
      如果(找到)\r
        返回true;\r
    }\r
  }\r
  返回false;\r
}\r
\r
的console.log(含有(进制,['1','2']));\r
的console.log(含有(进制,[1,'2']));\r
的console.log(含有(进制,['3','4']));

\r

\r
\r

I want to search an array of arrays and see if there exists an array equal to a certain array I supply. I tried to use indexOf() but that wouldn't work. Does anyone have a good technique for this?

var ary = [['1','2'],['3','4'],['5','6']];
ary.indexOf(['1','2']); //I want to get 0 here, or something like -1 if it's not present

解决方案

var ary = [['1','2'],['3','4'],['5','6']];

function contains( array, value ){
  for ( var i = 0; i < array.length; i++ ){
    if ( array[i] === value )
      return true;
    if (   value instanceof Array
        && array[i] instanceof Array
        && value.length == array[i].length ){
      var found = true;
      for ( var j = 0; j < value.length; j++ )
        if ( value[j] !== array[i][j] )
          found = false;
      if ( found )
        return true;
    }
  }
  return false;
}

console.log( contains( ary, ['1','2'] ) );
console.log( contains( ary, [1,'2'] ) );
console.log( contains( ary, ['3','4'] ) );

这篇关于你怎么'搜索'在javascript中数组的数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆