Javascript 检查2D数组中是否存在值

Javascript 检查2D数组中是否存在值,javascript,jquery,Javascript,Jquery,我有一个二维数组的格式 emi_309 | present | weak | 6 emi_310 | present | strong | 9 emi_319 | present | medium | 8 emi_315 | present | weak | 5 我想用一个简单的函数检查第一列中是否存在一个值 例如,检查第一列中是否存在emi_77 我遇到了$.inArray(值,数组),但此函数仅适用于1d数组 二维阵列是否有类似的功能是的,如果您将$.inArray和: 可以使用$

我有一个二维数组的格式

emi_309 | present | weak   | 6
emi_310 | present | strong | 9
emi_319 | present | medium | 8
emi_315 | present | weak   | 5
我想用一个简单的函数检查第一列中是否存在一个值

例如,检查第一列中是否存在emi_77

我遇到了
$.inArray(值,数组)
,但此函数仅适用于1d数组


二维阵列是否有类似的功能

是的,如果您将
$.inArray
和:


可以使用
$.grep
创建新数组并检查其长度

var val='emi_77';
if( $.grep( twoDarray, function(item){ return item[0]===val; }).length){
  /* item exists*/
}
$.grep
不会影响原始数组


API参考:

以下是我在没有Jquery的情况下如何简单地实现它

for (var i = 0; i <array.length; i++) {
        if(array[i][0] == 'emi_77'){
            alert("exists");
        }
}

选中此方法可从二维数组进行搜索。 只需检查转换为字符串并进行比较

function isArrayItemExists(array , item) {
    for ( var i = 0; i < array.length; i++ ) {
        if(JSON.stringify(array[i]) == JSON.stringify(item)){
            return true;
        }
            }
            return false;
}
函数isArrayItemExists(数组,项){
对于(var i=0;i
function IsIn2D(str,order,array){
  for (var i = 0; i <array.length; i++) {
        return array[i][order] == str;
  }
}
IsIn2D('emi_77',0,array); /*returns false*/
IsIn2D('emi_315',0,array); /*returns true*/
function isArrayItemExists(array , item) {
    for ( var i = 0; i < array.length; i++ ) {
        if(JSON.stringify(array[i]) == JSON.stringify(item)){
            return true;
        }
            }
            return false;
}