Javascript 从java脚本中的Json数组中获取值?
我以Javascript 从java脚本中的Json数组中获取值?,javascript,asp.net,json,Javascript,Asp.net,Json,我以jarray的名义创建JSON数组 它具有id和相应的值 我还有一个变量arr 现在,我如何使用id从json数组中获取值 这意味着如果我需要使用varid=04检查jarray 如果我找到04,我需要像Apple这样的特定id的值作为输出 如何在Json数组中使用If条件 var jarray=[{"id":"04","value":"Apple"},{"id":"13","value":"orange"}]; var id=04; 这将返回id为“04”的所有项的数组: 如果您确定只有
jarray
的名义创建JSON数组
它具有id和相应的值
我还有一个变量arr
现在,我如何使用id从json数组中获取值
这意味着如果我需要使用varid=04
检查jarray
如果我找到04,我需要像Apple这样的特定id的值作为输出
如何在Json数组中使用If条件
var jarray=[{"id":"04","value":"Apple"},{"id":"13","value":"orange"}];
var id=04;
这将返回id为“04”的所有项的数组: 如果您确定只有一个匹配项,则可以获取
匹配项[0]代码>
请注意,这适用于作为“04”
或04
提供的id
要确保与旧浏览器(可能没有过滤功能)兼容,请参阅。var i=0;
而(i您可以使用以下内容,也可以编写您自己的内容,这些内容可能更适合您的情况:
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
像这样:
for (i=0;i<jarray.length;i++)
{
var tempValue = jarray[i];
if (tempValue["id"] == id)
alert( "value is : " + tempValue["value"] );
}
for(i=0;i可能是您想要实现的目标的副本?实际上,他希望检查a.id===id
@user,请注意,尽管您的id
变量不是字符串,而是数字,但您需要将其更改为var id='04'
是的,但依赖“灵活性”并不是最佳实践==
运算符。最好使用“==”,并确保值的类型相同
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
for (i=0;i<jarray.length;i++)
{
var tempValue = jarray[i];
if (tempValue["id"] == id)
alert( "value is : " + tempValue["value"] );
}