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单元测试框架QUnitjs详细介绍
May 08 Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
Nov 03 Javascript
webpack中引用jquery的简单实现
Jun 08 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
Jun 12 Javascript
jQury Ajax使用Token验证身份实例代码
Sep 22 Javascript
Vue-Router实现组件间跳转的三种方法
Nov 07 Javascript
Vue.js实现可排序的表格组件功能示例
Feb 19 Javascript
详解JavaScript 异步编程
Jul 13 Javascript
vue项目查看vue版本及cli版本的实现方式
Oct 24 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 Vue.js
浅谈Vue使用Elementui修改默认的最快方法
Dec 05 Vue.js
纯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设计模式 php实现单例模式(singleton)
2015/12/07 PHP
PHP标准类(stdclass)用法示例
2016/09/28 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
如何快速上手Vuex
2017/02/14 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
小程序实现密码输入框
2020/11/16 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
Python中下划线的使用方法
2015/03/27 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
Django发送邮件功能实例详解
2019/09/02 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
python实现简单井字棋游戏
2020/03/04 Python
计算机专业职业生涯规划范文
2014/01/19 职场文书
尽职尽责村干部自我鉴定
2014/01/23 职场文书
学生干部培训方案
2014/06/12 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL