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

如何根据其他JSON数据选择JSON中的数据?Javascript,javascript,json,Javascript,Json,可以使用同一JSON对象中的其他数据选择JSON对象中的某些数据吗。类似于MySQL。例如: myObj = {"elements" : [ { "name" : "Hydrogen", "symbol" : "H" }, { "name" : "Silver", "symbol" : "Ag" }]}; 我想选择符号为“H”的“氢”。而不是必须放进这样的东西: document.getElementByID("TEST").innerHTML = myObj.elements[0].name

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

myObj = {"elements" : [ { "name" : "Hydrogen", "symbol" : "H" }, { "name" : "Silver", "symbol" : "Ag" }]};
我想选择符号为“H”的“氢”。而不是必须放进这样的东西:

document.getElementByID("TEST").innerHTML = myObj.elements[0].name;
myObj = {"H": "Hydrogen", "Ag": "Silver"};

提前感谢您。

您可以定义一个函数来为您执行此操作

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']

一样简单,在大多数情况下,泰勒·霍伦的解决方案已经足够好了。如果您有一个非常大的数据,您可以尝试将数据转换为一个哈希表,这将提供对元素的快速访问。只要确保每个元素都有一个唯一的符号

函数convertToHash(数据){
var hash={};
对于(变量i=0;i
遍历myObj.elements中的所有元素,并检查和选择它。非常感谢您,您是一个史诗般的花花公子。对不起,这个愚蠢的问题,我刚刚在休息了7个月后重新开始编程/编写脚本:/再次感谢你,伙计!