【问题标题】:jquery function to search array values [closed]用于搜索数组值的 jquery 函数
【发布时间】:2012-07-02 10:10:19
【问题描述】:

我有这样的结构:

var var1 = { 
     array1 : ['value1','value2', ...],
     array2 : ['value3','value4', ...]
     ...
};

我需要一个 javascript 函数来搜索此结构中的值,如果存在, 此函数将返回数组的名称。

【问题讨论】:

  • 您不仅没有表现出任何研究成果,而且您​​的问题还不够清楚。
  • 该死!我非常喜欢挑战!我写了这个问题的答案...

标签: javascript jquery arrays search


【解决方案1】:
function find(value, obj) {
    for (var x in obj) {
        if ($.inArray(value, obj[x]) >= 0) {
            return (x);
        }
    }
}

var var1 = {
    array1: ['value1', 'value2'],
    array2: ['value3', 'value4'],
    array3: ['value5', 'value6']
};

var value = 'value3';

alert(find(value, var1));​    ​

Live DEMO

【讨论】:

  • gdoron,jslint 在第 2 行显示错误。我正在寻找修复程序。非常感谢。
  • @rabugento。这是 jsLint 的一个 bug……算了。
【解决方案2】:
var var1 = { 
     array1: ['value1', 'value2'],
     array2: ['value3', 'value4']
};

function search( obj, val ) {

    var arr,
        name;

    for ( var i in obj ) {

        if ( typeof obj[i] === "object" && obj[i] instanceof Array ) {

            arr = obj[i];

            arr.forEach(function( a ) {

                if ( a === val ) name = i;

            });

        }

    }

    return name;

}

search( var1, 'value4' ); // array2

【讨论】:

  • 您的代码有效,谢谢!
  • 请点击检查是否有效。我很高兴它有帮助!
猜你喜欢
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-24
  • 2018-04-29
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
相关资源
最近更新 更多