var Employees = [['0', '50人以下'], ['1', '50-200人'], ['2', '200-500人'], ['3', '500-1000人'], ['4', '1000人以上']];
有如上一个数组
当返回1,就匹配出50-200人;返回2,就匹配出200-500人
不能用遍历。请教各位JS中有查找的函数吗?

解决方案 »

  1.   

    如果一定要用这个二维数组的话,我给你个建议
    用 split('],')分割数组成
    ['0', '50人以下'
    ['1', '50-200人'
    ['2', '200-500人'
    ['3', '500-1000人'
    ['4', '1000人以上']]
    之后还得循环分割后的这五个字段,判断返回的东东是否等于每一个字段的split(',')的第一个元素。
      

  2.   

    首先 我觉得 如果你使用一个对象集合会很方便。
    其次 如果你非要用这样的格式,那么可以使用一个方法来做find 不过效率不高 而且复杂度高
      

  3.   

    楼主这样的数组 为什么不用json数组了而且你这个可以直接
    数组
    ['50人以下',  '50-200人', '200-500人', '500-1000人', '1000人以上'];
    直接根据数组的下标来返回 对应的值
      

  4.   

    其实是用于EXTJS数据集,我也知道用a["0"]='50人以下'这样好
    具体代码是怎么样实现呢?
      

  5.   


    var Employees = {'0': '50人以下', '1': '50-200人', '2': '200-500人', '3': '500-1000人', '4': '1000人以上'};
    alert(Employees['1']);
      

  6.   

    如何数据量不大,而且非要用LZ你说的那种数据结构的话,用正则吧。var Employees = [['0', '50人以下'], ['1', '50-200人'], ['2', '200-500人'], ['3', '500-1000人'], ['4', '1000人以上']];
    Array.prototype.getValue = function(index) {
    var str = this.toString();
    var reg = new RegExp(index + ",(.*?),", 'i');
    var matches = str.match(reg);
    return matches[1]? matches[1] : '';
    }
    alert(Employees.getValue(3));