javascript - 在 json、node.js 中查找对象的值

标签 javascript node.js arrays json

我需要一种方法来查找输入的相应名称的杀戮和死亡(等),如果该名称不在对象中,我也需要它输出一些内容。

类似这样的事情:

if (medic does not have(name)) return;
const kills = medic.(name).kills

示例 JSON:

{
  "assault": {
    "general": {
      "kills": 1134,
      "deaths": 1122,
      "abc": "123"
    },
    "list": {
      "A": {
        "name": "name1",
        "kills": 12,
        "deaths": 120
      },
      "B": {
        "name": "name2",
        "kills": 23,
        "deaths": 53
      }
    }
  },
  "support": {
    "general": {
      "kills": 123,
      "deaths": 11232,
      "abc": "11233"
    },
    "list": {
      "A": {
        "name": "name4",
        "kills": 12,
        "deaths": 120
      },
      "B": {
        "name": "name5",
        "kills": 23,
        "deaths": 53
      }
    }
  }
}

最佳答案

首先清理您的数据以获得名称和信息的良好列表:

const listOfNames = [...Object.values(data.assault.list), ...Object.values(data.support.list)]

然后使用该列表上的 find 方法来搜索名称,如果搜索返回 undefined,则备份 “Not Found” >:

const search = (name) => listOfNames.find(item => item.name===name) || "Not Found"

然后您可以在其他地方使用该搜索功能:

console.log(search("name2")) 给出 screenshot of output

在这里查看它的实际效果: https://repl.it/@LukeStorry/62916291

关于javascript - 在 json、node.js 中查找对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62916291/

相关文章:

仅在调试时正确输出

c++ - 如何在不使用 shared_ptr 的情况下不删除指针的值

javascript - 全局变量值在 node.js 中的无限递归超过堆栈后神秘地重置

Javascript将对象插入数组不起作用

javascript - 有没有办法在 Node 或客户端javascript中将json数据导出到docx、pdf和excel?

ruby - 查询执行解释的巨大差异

javascript - Google map 商店定位器 API - TypeError : this. b 未定义

javascript - 组正则表达式缺少最后一场比赛

javascript - angular.translate 在 HTML 的 <br> 上下文中不起作用

node.js - 在单个对象而不是嵌套对象中显示所有数据