我有一個看起來像這樣的數組。如何在二維數組中找到字符串?
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');
// -> []
您是否總是與兩元素子陣列的* second *元素匹配? –
您可以創建一個循環,然後在第一維上查找字符串 –
「搜索」條件不明確。 – undefined