我有一个看起来像这样的数组。
我希望能够搜索数组中的字符串
var array[["a","b"],["c","d"],["e","f"]];
我希望能够搜索数组中的字符串
"d"
并返回相应的值 "c"
。var array[["a","b"],["c","d"],["e","f"]];
"d"
并返回相应的值 "c"
。尝试:
function find_str(array){
for(var i in array){
if(array[i][1] == 'd'){
return array[i][0];
}
}
}
编辑:
function find_str(array){
for(var i=0;i<array.length;i++){
if(array[i][1] == 'd'){
return array[i][0];
}
}
}
Array.prototype
的几种方法:filter
、indexOf
、map
、slice
、splice
和concat
,以便展开数组。var array = [["a","b"],["c","d"],["c","e","f"]];
function findBy(arr, val) {
var ret = arr.filter(function(el) {
return el.indexOf(val) > -1;
}).map(function(el) {
var res = el.slice();
res.splice(el.indexOf(val), 1);
return res;
});
return Array.prototype.concat.apply([], ret);
}
findBy(array, 'c');
// -> ["d", "e", "f"]
findBy(array, 'b');
// -> ["a"]
findBy(array, 'g');
// -> []
[["a","b"],["c","d"],["e","f"]].filter(function(a){return a[1]==this}, "d")[0][0]
- dandavis