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 相关文章推荐
JavaScript中常见陷阱小结
Apr 27 Javascript
this和执行上下文实现代码
Jul 01 Javascript
初学js 新节点的创建 删除 的步骤
Jul 04 Javascript
javascript中方便增删改cookie的一个类
Oct 11 Javascript
JS图片预加载 JS实现图片预加载应用
Dec 03 Javascript
完美实现仿QQ空间评论回复特效
May 06 Javascript
jQuery实现打开页面渐现效果示例
Jul 27 Javascript
AngularJS中的DOM操作用法分析
Nov 04 Javascript
微信小程序开发(二)图片上传+服务端接收详解
Jan 11 Javascript
使用原生js编写一个简单的框选功能方法
May 13 Javascript
Javascript前端下载后台传来的文件流代码实例
Aug 18 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
Nov 04 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
php巧获服务器端信息
2006/12/06 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
浅析Prototype的模板类 Template
2011/12/07 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
js捕捉键盘事件和按键键值的方法
2016/10/10 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
Cordova(ionic)项目实现双击返回键退出应用
2019/09/17 Javascript
python多线程方式执行多个bat代码
2016/06/07 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
Python 占位符的使用方法详解
2019/07/10 Python
python的pstuil模块使用方法总结
2019/07/26 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
python实现无边框进度条的实例代码
2020/12/30 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
产品质量保证书
2014/04/29 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
升学宴家长致辞
2015/07/27 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
15个值得收藏的JavaScript函数
2021/09/15 Javascript
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫