我知道有些人可能会发现这很容易。但这似乎很难开始。如果我有数组,我可以很容易地用过滤器做。

可以说我有这个对象

    const mapData = {family: ["gender", "ethnics"], house: ["wardNumber","livingType"]}


现在,如果我有atribute = "gender",如何找到密钥family

如果我有atribute = "livingType",那么我需要House

这里有Javascript专业人士吗?

提前致谢

最佳答案

您可以获取密钥并找到包含。

方法:


Object.keys用于从对象获取自己的密钥,
Array#find用于查找带有回调的项目,
Array#includes,它检查数组中是否存在项。




const
    mapData = { family: ["gender", "ethnics"], house: ["wardNumber", "livingType"] },
    attribute = "gender",
    key = Object
        .keys(mapData)
        .find(k => mapData[k].includes(attribute));

console.log(key);   

09-28 10:35