用于搜索数组值的 jquery 函数
Posted
技术标签:
【中文标题】用于搜索数组值的 jquery 函数【英文标题】:jquery function to search array values [closed] 【发布时间】:2012-07-02 10:10:19 【问题描述】:我有这样的结构:
var var1 =
array1 : ['value1','value2', ...],
array2 : ['value3','value4', ...]
...
;
我需要一个 javascript 函数来搜索此结构中的值,如果存在, 此函数将返回数组的名称。
【问题讨论】:
What have you tried? 您不仅没有表现出任何研究成果,而且您的问题还不够清楚。 该死!我非常喜欢挑战!我写了这个问题的答案... 【参考方案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
【讨论】:
您的代码有效,谢谢! 请点击检查是否有效。我很高兴它有帮助!以上是关于用于搜索数组值的 jquery 函数的主要内容,如果未能解决你的问题,请参考以下文章
Python二分搜索类函数,用于查找排序列表中大于特定值的第一个数字