我创建JSON数组,如名称jarray
。
它有id和相应的值。
我有另一个变量arr
。
现在,我如何使用id。
从json数组中获取值的值这意味着我需要使用var jarray
检查id=04
。
如果我发现04我需要像苹果这样的特定ID的值作为输出。
如何在Json数组中使用If条件?
var jarray=[{"id":"04","value":"Apple"},{"id":"13","value":"orange"}];
var id=04;
答案 0 :(得分:1)
这将返回id为“04”的所有项目的数组:
var matches = jarray.filter(function(a){return a.id==id;});
如果您确定只有一个,则可以matches[0];
。
请注意,这适用于"04"
或04
提供的ID。
为确保与旧浏览器(可能没有过滤功能)兼容,请参阅this。
答案 1 :(得分:0)
var i=0;
while(i<jarray.length) {
if(jarray[i].id==id) {
var val=jarray[i].value;
break;
}
}
答案 2 :(得分:0)
您可以使用Underscore's _.find` method之类的内容,也可以编写自己的内容,这可能更适合您的情况:
function findId(id, arr, member) {
for(i in arr) {
// You could use === here depending on your needs
if(arr[i]['id'] == id) {
return member === undefined ? arr[i] : arr[i][member];
}
}
return false;
}
findId('04', jarray, 'value'); // Apple
答案 3 :(得分:0)
for (i=0;i<jarray.length;i++)
{
var tempValue = jarray[i];
if (tempValue["id"] == id)
alert( "value is : " + tempValue["value"] );
}