日期:2014-05-16  浏览次数:20366 次

新人请教一个简单问题, 如何从一个对象中,查询到对应的值
通过 Ajax得到后台Json数据 :
var categories;
$.ajax({
    dataType: 'json',
    type: "GET", url: "GetValueSet",
    async: false,
    success: function (data) {
        categories = data;
    }
});

数据格式如下:
[{"value":1,"groupid":1,"text":"男"},{"value":2,"groupid":1,"text":"女"}]

请问:怎样查找到 value = 1这条记录的 text呢?谢谢

------解决方案--------------------
function getKeyByValue(value,obj,arr){
if(obj.constructor==Array){
for(var i=0,len=obj.length;i<len;i++){
getKeyByValue(value,obj[i],arr);
}
}
if(obj.constructor==Object){
for(var i in obj){
if(obj.hasOwnProperty(i)){
if(obj[i].constructor==Array
------解决方案--------------------
obj[i].constructor==Object){
getKeyByValue(value,obj[i],arr);
}else if(obj[i]==value){
arr.push(i);
}
}
}
}
}
var arr=[];
var test=[{"value":1,"groupid":1,"text":"男"},{"value":2,"groupid":1,"text":"女"}];
getKeyByValue(1,test,arr);
alert(arr);
这样试试
------解决方案--------------------
只有遍历,还是遍历
------解决方案--------------------


<script type="text/javascript">
var arr=[{"value":1,"groupid":1,"text":"男"},{"value":2,"groupid":1,"text":"女"}];
for(key in arr){
if(arr[key].value==1){
alert(arr[key].text);
}
}
</script>

------解决方案--------------------
对于集合的访问(操作)
就是 遍历 和 枚举

你应该先 搜索 这方面的主题
使用的概率 很高 而且 有集合的语言 基本都是一样的处理方式
------解决方案--------------------
jquery 遍历:
$.each(arr,function(i,d){
if(d.value===1)
alert(d.text)
})