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


Posted in Javascript onFebruary 18, 2014

最近遇到一个问题:

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);

Javascript 相关文章推荐
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
Jan 09 Javascript
Javascript的一种模块模式
Mar 22 Javascript
node.js下LDAP查询实例分享
Sep 30 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
jQuery 插件封装的方法
Nov 16 Javascript
js使用xml数据载体实现城市省份二级联动效果
Nov 08 Javascript
vue 自定义 select内置组件
Apr 10 Javascript
vue axios封装及API统一管理的方法
Apr 18 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 Javascript
js里面的变量范围分享
Jul 18 Javascript
Nest.js环境变量配置与序列化详解
Feb 21 Javascript
纯js写的分页表格数据为json串
Feb 18 #Javascript
倒记时60刷新网页的js代码
Feb 18 #Javascript
JS替换文本域内的回车示例
Feb 18 #Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 #Javascript
通过正则表达式实现表单验证是否为中文
Feb 18 #Javascript
如何将网页表格内容导入excel
Feb 18 #Javascript
js charAt的使用示例
Feb 18 #Javascript
You might like
《APMServ 5.1.2》使用图解
2006/10/23 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
php实现的顺序线性表示例
2019/05/04 PHP
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
Python实现基于HTTP文件传输实例
2014/11/08 Python
python遍历类中所有成员的方法
2015/03/18 Python
Python中with及contextlib的用法详解
2017/06/08 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
学Python 3的理由和必要性
2019/11/19 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
python实现批量修改文件名
2020/03/23 Python
Python如何实现感知器的逻辑电路
2020/12/25 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
医校毕业生自我鉴定
2014/01/25 职场文书
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
员工工作表现评语
2014/04/26 职场文书
检讨书范文300字
2015/01/28 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python