如何从JSON对象的值数组中检索键?

时间:2020-01-17 11:44:36

标签: javascript json

让一个对象的值作为数组。例如,

    const obj = {
      'abc': ['xyz','tuv'],
      'def': ['qrs']
    }

如何从对象中获取“ tuv”键?

与该问题不同,在该问题中,值不是数组。 How to get a key in a JavaScript object by its value?

2 个答案:

答案 0 :(得分:3)

您可以通过检查值来获取键并进行过滤。

const
    getKeys = (object, value) => Object.keys(object).filter(k => object[k].includes(value)),
    obj = { abc: ['xyz','tuv'], def: ['qrs'] };
    
console.log(getKeys(obj, 'tuv'));

答案 1 :(得分:1)

我假设一个值不会有多个键。

const getKeyByValue = (object, value) => Object.keys(object)
  .map(key => object[key].map(val => { if (val === value) { return key }}))
  .flat().filter(key => key)[0] || false

因此,如果我们想获取'tuv'的密钥,我们可以像这样调用此方法,

getKeyByValue(obj, 'tuv')
相关问题