开发者问题收集

从数组的数组中按键获取值 - Javascript

2022-02-21
181

我有一个如下的元数据:

obj = {
   meta: [['type', 'test1'], ['key2', 'value2']],
   value: 'text1',
}

想要通过传递键 type 来读取值 test

预期结果是 test1

3个回答

您可以使用 Object.fromEntries()

const obj = {
   meta: [['type', 'test'], ['key2', 'value2']],
   value: 'text1',
}

const key = 'type'

const res = Object.fromEntries(obj.meta)[key];

console.log(res)
hgb123
2022-02-21

您应该将 meta 重构为一个对象,而不是一对数组,如下所示:

obj = {
   meta: {
        'type': 'test',
        'key2': 'value2'
   }
   value: 'text1',
}

现在,您可以以 obj['meta']['type']obj.meta.type 的形式访问您需要的内容。

dkapur17
2022-02-21
obj = {
   meta: [['type', 'test'], ['key2', 'value2']],
   value: 'text1',
}

  for(let arr of obj.meta){
      if(arr[0]==='type'){
        return arr[1];
    }
 }

const res=obj.meta.find(arr=>arr[0]==="type");
if(res && res.length) return res[1]

请注意,此代码仅返回第一个“type”。如果您有两次“type”,您将获得第一个结果。

Reut Schremer
2022-02-21