无论您要以某种方式循环遍历数组,即使它被 jQuery 之类的工具对您来说有点模糊。
您可以像这样建议的那样从数组创建一个对象:
var objLookup = function(arr, search) {
var o = {}, i, l, first, second;
for (i=0, l=arr.length; i<l; i++) {
first = arr[i][0]; // These variables are for convenience and readability.
second = arr[i][1]; // The function could be rewritten without them.
o[first] = second;
}
return o[search];
}
但更快的解决方案是遍历数组并在找到值后立即返回:
var indexLookup = function(arr, search){
var index = -1, i, l;
for (i = 0, l = arr.length; i<l; i++) {
if (arr[i][0] === search) return arr[i][1];
}
return undefined;
}
然后,您可以在代码中像这样使用这些函数,这样您就不必在所有代码的中间进行循环:
var log = [
["comp","Please add company name!"],
["zip","Please add zip code!"]
];
objLookup(log, "zip"); // Please add zip code!
indexLookup(log, "comp"); // Please add company name!
这是一个jsfiddle,显示了这些在使用中。