javascript - 如何根据其他JSON数据选择JSON中的数据? Javascript

标签 javascript json

是否可以使用同一 JSON 对象中的其他数据来选择 JSON 对象中的某些数据。类似于 MySQL。例如:

myObj = {"elements" : [ { "name" : "Hydrogen", "symbol" : "H" }, { "name" : "Silver", "symbol" : "Ag" }]};

我想选择符号为“H”的“氢”。而不是必须输入这样的东西:

document.getElementByID("TEST").innerHTML = myObj.elements[0].name;

提前谢谢你。

最佳答案

您可以定义一个函数来为您做这件事。

document.getElementByID("TEST").innerHTML = findNameBySymbol(myObj.elements, 'H');

function findNameBySymbol(elements, symbol) {
  for (var i = 0; i < elements.length; i += 1) {
    if (elements[i].symbol === symbol) {
      return elements[i].name;
    }
  }
}

更好的是,如果您可以控制数据的结构,您可以像这样构造它:

myObj = {"H": "Hydrogen", "Ag": "Silver"};

然后查找就像 myObj['H'] 一样简单。

关于javascript - 如何根据其他JSON数据选择JSON中的数据? Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12594151/

相关文章:

javascript - 不推荐使用 KeyboardEvent.keyCode。这在实践中意味着什么?

java - Json类型不匹配: Cannot convert to string

javascript - 如何在 jquery 中解析 utf-8 json

c# - 使用 json.net 和 linq 在 json 中查找模式

json - 找不到play.api.libs.json.JsObject类型的Json序列化程序作为JsObject

javascript - 检查边界的更好方法

javascript - 将 Blob 设置为 iframe 的 "src"

javascript - 定位麻烦

javascript - Kotlin JS 不会在需要的地方添加 "new"关键字

php - 是否有可以完全以这种方式编码为 JSON 的 MySQL 查询?