如何在嵌套对象数组中查找特定键的所有值?

天空步行者

如何在嵌套对象数组中找到特定键的所有值?

示例数据:

[
  {
    "id": 14252373,
    "name": "foo",
    "url": "/test",
    "private": true,
    "owner": {
        "login": "username",
        "id": 1217786,
    },
    "permissions": {
        "admin": {
            "id": 1567283
        },
        "push": false,
        "pull": true
        }
  }
]

我将如何获得所有id的数组

期望的输出: [14252373, 1217786, 1567283]

您可以创建一个函数并遍历传递对象中的键。如果当前键与要查找的键相同,则将该值添加到输出中。如果当前键是一个对象,则递归调用当前值上的函数

function getValue(o, findKey) {
  const output = []
  
  for (const k in o) {
    if (k === findKey)
      output.push(o[k])
    else if (typeof o[k] === 'object')
      output.push(...getValue(o[k], findKey))
  }
  
  return output;
}

getValue(input, 'id')

这是一个片段:

const input = [{
  "id": 14252373,
  "name": "foo",
  "url": "/test",
  "private": true,
  "owner": {
    "login": "username",
    "id": 1217786,
  },
  "permissions": {
    "admin": {
      "id": 1567283
    },
    "push": false,
    "pull": true
  }
}]

function getValue(o, findKey) {
  const output = []
  
  for (const k in o) {
    if (k === findKey)
      output.push(o[findKey])
    else if (typeof o[k] === 'object')
      output.push(...getValue(o[k], findKey))
  }
  
  return output;
}

console.log(getValue(input, 'id'))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在对象数组或对象对象中查找特定键的所有值

通过深层嵌套数组对象中的特定键查找所有子键

通过深层嵌套对象中的特定键查找所有值

如何从带有嵌套对象数组的对象数组中获取所有特定值?

如何从JSON对象数组中删除具有特定键/值对的所有JSON对象?

在javascript中如何在具有嵌套数组的对象数组中查找值

如何在具有键数组的对象的对象中查找值

如何通过定义特定键来访问php嵌套数组中的所有值?

MongoDB - 如何在嵌套的对象数组中查找空值

如何从对象中的所有键获取特定值并将其存储在数组中?

jq:如何在带有数组的嵌套json树中添加对象,键/值

如何在深度嵌套数组中查找具有 id 值的对象?

如何在不循环的情况下访问对象数组中的所有键和值

如何在javascript对象数组中设置所有对象的特定属性值(虚线)

如何在其他对象内的所有嵌套对象中动态添加新键/值?

查找数组的嵌套对象中是否存在键或值

如何在具有键值对的对象数组中查找值

从JSON数组中的嵌套对象中获取所有键及其值(不带jQuery)

Lodash:在自己的数组中查找所有具有特定值的键

如何从具有嵌套对象数组的对象数组中获取所有值?

从特定键的嵌套数组行中收集所有值

如何在 Compass MongoDB 中使用键通配符从嵌套对象中查找值?

在嵌套的 elasticsearch 对象中的所有键中搜索值

如何在 react js 中一次更新嵌套对象中所有键的值?

PHP数组:如何通过传递多个值来查找数组中的所有键?

如何在 ReactJS 的嵌套状态中使用所有特定键更改值

如何递归地在嵌套对象中查找值的键

检索具有特定值的对象数组中的所有键

如何从嵌套对象中获取具有值的所有键