-1

我不想在不确切知道数据在哪里的情况下从 json 文件中获取数据:我有这个 json

    var names= [
{
 "category":"category1" ,
     "name1":"david",
     "name2":"jhon",
     "name3":"peter"
},
{
 "category":"category2" ,
     "name1":"Smith" ,
     "name2":"Anna",
}
]

假设我有一个字符串变量:

var str='category2';

如何使用变量获取 category2.name1?我不想使用 names[1].name1 因为我不知道 str 中有什么并且我想避免使用 for 循环。

4

1 回答 1

0

有一些内置功能可以帮助您。例如:

var matchingElements = names.filter(function(object, index, array) { 
  return object.category == str;
});

你要找的东西总是在matchingElements[0].name1if中matchingElements.length > 0

于 2013-10-01T12:58:41.233 回答