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 相关文章推荐
初试jQuery EasyUI 使用介绍
Apr 01 Javascript
(function($){...})(jQuery)的意思
Jul 22 Javascript
Json字符串转换为JS对象的高效方法实例
May 01 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
Jun 09 Javascript
jquery背景跟随鼠标滑动导航
Nov 20 Javascript
浅析在javascript中创建对象的各种模式
May 06 Javascript
JavaScript常用代码书写规范的超全面总结
Sep 11 Javascript
微信小程序 获取微信OpenId详解及实例代码
Oct 31 Javascript
JS实现直接运行html代码的方法
Mar 13 Javascript
javascript数组去重常用方法实例分析
Apr 11 Javascript
详解jenkins自动化部署vue
May 14 Javascript
vue中实现图片压缩 file文件的方法
May 28 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
对盗链说再见...
2006/10/09 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
利用js实现禁止复制文本信息
2015/06/03 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
vue filters的使用详解
2018/06/11 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
Python代码的打包与发布详解
2014/07/30 Python
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
python修改操作系统时间的方法
2015/05/18 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
Python中交换两个元素的实现方法
2018/06/29 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
基于pandas中expand的作用详解
2019/12/17 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
Pycharm github配置实现过程图解
2020/10/13 Python
如何强制垃圾回收
2015/10/06 面试题
理工类毕业自我鉴定
2014/02/20 职场文书
城市创卫标语
2014/06/17 职场文书
个人承诺书格式范文
2015/04/29 职场文书
女性健康讲座主持词
2015/07/04 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
vue使用watch监听属性变化
2022/04/30 Vue.js