您的位置:首页 > 移动开发 > Objective-C

js如何获取object类型里的键值

2016-02-26 09:28 239 查看


js如何获取object类型里的键值

作者: 字体:[增加 减小] 类型:转载 时间:2014-02-18 我要评论

这篇文章主要介绍了js获取object类型里键值的方法,需要的朋友可以参考下

<iframe id="iframeu2261530_0" src="http://pos.baidu.com/acom?sz=680x200&rdid=2261530&dc=2&di=u2261530&dri=0&dis=0&dai=2&ps=403x41&coa=at%3D3%26rsi0%3D680%26rsi1%3D200%26pat%3D6%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D1%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D14%26rss2%3D%2523000000%26titSU%3D0%26ptbg%3D90%26piw%3D0%26pih%3D0%26ptp%3D0&dcb=BAIDU_UNION_define&dtm=BAIDU_DUP_SETJSONADSLOT&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1456449154025&ti=js%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96object%E7%B1%BB%E5%9E%8B%E9%87%8C%E7%9A%84%E9%94%AE%E5%80%BC_javascript%E6%8A%80%E5%B7%A7_%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6&ari=1&dbv=2&drs=1&pcs=1072x545&pss=1072x409&cfv=0&cpl=4&chi=1&cce=true&cec=GBK&tlm=1454002478&ltu=http%3A%2F%2Fwww.jb51.net%2Farticle%2F46953.htm&ltr=http%3A%2F%2Fwangjingyi.iteye.com%2Fblog%2F2038264&ecd=1&psr=1366x768&par=1366x728&pis=-1x-1&ccd=24&cja=false&cmi=6&col=zh-CN&cdo=-1&tcn=1456449154&qn=db457840d3ba5aef&tt=1456449153937.174.319.321" width="680" height="200" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="display: block; border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;"></iframe>

最近遇到一个问题: 

复制代码代码如下:

var obj = {"name1":"张三","name2":"李四"}; 

var key = "name1"; 

var value = obj.key;//得到了"undefined" 

value = obj.name1;//得到了"张三" 

其实我是想动态给key赋值,然后得到key为多少所对就的值。但这种做法行不通,obj.key会去找obj下key为"key"所对应的值,结果当然是找不到喽。 

于是,我想到了js中遍历对象属性的方法: 

复制代码代码如下:

function printObject(obj){ 

//obj = {"cid":"C0","ctext":"区县"}; 

var temp = ""; 

for(var i in obj){//用javascript的for/in循环遍历对象的属性 

temp += i+":"+obj[i]+"\n"; 



alert(temp);//结果:cid:C0 \n ctext:区县 



这样,就可以清楚的知道js中一个对象的key和value分别是什么了。 

回到刚才的问题,怎么动态给key赋值,然后以obj.key的方式得到对应的value呢? 

其实以上printObject中有提示,那就是用obj[key]的方法,key可以是动态的,这样就解决了我上面提出的问题了。 

最后说一下,还有一个方法也可以,那就是:eval("obj."+key)。 

总结: 

js中想根据动态key得到某对象中相对应的value的方法有二: 

一、var key = "name1";var value = obj[key]; 

二、var key = "name1";var value = eval("obj."+key);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: