javascript - 如何在三个数组之一中查找元素,然后返回父数组名称?

标签 javascript

我试图检查一个元素是否存在于三个数组中的任何一个中。我不知道如何返回找到该元素的数组的名称。任何人都可以引导我走向正确的方向吗?

我编写了一个函数,它将搜索中的元素作为其参数,然后返回数组名称:

 var arr1 = ['a','b','c','d'];
 var arr2 = ['e','f','g','h'];
 var arr3 = ['i','j','k','l'];     

 function chkElem(elem)
 {
    var id = elem;
    var isFound = null;

    if(arr1.indexOf(id) || (arr2.indexOf(id) || (arr3.indexOf(id))))
    {
        isFound = ????      
    }
    return isFound;     
 }

我不确定如何将父数组名称分配给“isFound”变量。

谢谢。

最佳答案

您不应该在函数逻辑中使用“变量名称”。相反,将数组设置为对象的属性并返回属性名称:

var arrays = {
    "arr1": ['a','b','c','d'],
    "arr2": ['e','f','g','h'],
    "arr3": ['i','j','k','l']
};
for (var name in arrays)
    if (arrays[name].indexOf(id) > -1)
        return name;
return null;

或者,更好的是,使用数组的数组来搜索并返回索引:

var arrays = [
    ['a','b','c','d'],
    ['e','f','g','h'],
    ['i','j','k','l']
];
for (var i=0; i<arrays.length; i++)
    if (arrays[i].indexOf(id) > -1)
        return i;
return -1;

关于javascript - 如何在三个数组之一中查找元素,然后返回父数组名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059588/

相关文章:

javascript - 如果文件不存在,fs.statSync 会抛出错误

javascript - 删除多个工作表中的重复项

javascript - 启用和禁用基于 jQuery 中的偶数的 Span 类

javascript - 转换数组的数组,并返回一个对象,数组中的每对元素作为键值对

javascript - ReactJS 一次性初始化

javascript - jQuery 数据表选择不起作用

javascript - 数据未出现在购物分析中

javascript - 通过选择标签值查找变量

javascript - 首先显示,然后通过 jQuery 隐藏

javascript - CQ/AEM 'cq5forms_showMgs()' 这样的函数在哪里定义的?