`

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

    博客分类:
  • js
阅读更多
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);

<!--NEWSZW_HZH_END-->
分享到:
评论
1 楼 赤色旌旗 2015-11-23  
   

相关推荐

    js获取对象,数组所有属性键值(key)和对应值(value)的方法示例

    本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法。分享给大家供大家参考,具体如下: [removed] var values=function(object) { var values = []; for (var property in object) values....

    JS动态遍历json中所有键值对的方法(不知道属性名的情况)

    如果后台返回给前台的json中key的值是动态生成的,那么我们没有办法使用常规的object.name或object[“name”]的方式来获取json中的值。 这个时候我们需要在不知道属性名称的时候,遍历json对象,可以使用如下方式: ...

    ES6小技巧之代替lodash

    获取Object中指定键值 我们现在可以使用解包的方法快速获取对象中指定键值的值 const obj = { a:1, b:2, c:3, d:4 }; // 获取obj中a与b的值 const {a,b} = obj; // 也可以给他们取别名 const {a:A, b:B} = ...

    cast-property-types.js:将对象中的属性强制为其他类型

    @param {Object} 示例键值对,其中值是所需类型 @returns {Object} 具有与输入相同的属性但具有强制转换值的新对象 castPropertyTypes()将从第一个参数中获取值,并使用在第二个参数中找到的类型转换这些值。 例如...

    【JavaScript源代码】JavaScript WeakMap使用详解.docx

    JavaScript WeakMap使用详解  WeakMap 对象是一组键/值对的集合,其中的键是弱... WeakMap 的 key 只能是 Object 类型。 原始数据类型 是不能作为 key 的(比如 Symbol)。 Why WeakMap?  在 JavaScript 里,ma

    Javascript中的数据类型之旅

    其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。 JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六...

    键值对写法

    获取到后台一般有01显示男02显示女等。这个文档就是解决这问题

    关于JavaScript的变量的数据类型的判断方法

    其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。  JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这...

    jsmap数据结构.pdf

    map对象常⽤于保存键值对,它的键是任意数据类型,常⽤于建⽴数据的映射关系 和对象的区别:Object对象的key只能是字符串或者Symbol,map的key可是是任意数据类型;Map的key是有序的;map的键值对个数通过 size属性...

    Map数据结构.pdf

    Map数据结构 数据结构 JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能⽤字符串当作键。这给它的使⽤带来了很⼤的限 制。 为了解决这个问题,ES6 提供了 Map 数据结构。它类似于...

    javascript基本数据类型和转换

    还有1种复杂数据类型—Object,Object实质上是由一组无序的名值对(键值对)组成的。ECMAScript不支持任何创建自定义类型的机制。 由于ECMAScript是松散型的,所以需要一种手段来检测变量的数据类型,typeof就是具有...

    JS正则表达式替换url参数的方法

    /* 定义替换对象键值 */ var setReferArgs = function(){ var referArgs = new Object(); referArgs['#userID\#'] = userId; referArgs['\#userName\#'] = userName; return referArgs; } /* 替换URL的参数 */ ...

    leo:LEO是一个轻量级的JS库,可帮助您构建现代的前端应用程序

    Object :具有键值绑定和海关事件的对象。 关于 为了使一流的JS范例统一在一起,这些范例散布在构建现代javascript应用程序的不同方式中,LEO会从不同的框架中提取不同的模式,并为您组合在一起: 来自Backbone :...

    node-merge-objects:合并两个对象并连接作为同一对象键值的数组

    合并两个对象并连接作为同一对象键值的数组。 与在JQuery中扩展类似,但具有数组串联。 也进行深度合并。 安装 npm install merge-objects --save 用法 var merge = require('merge-objects'); var object1 = {a: 1...

    js以对象为索引的关联数组

     我们常说JavaScript原生支持json,因为我们可以认为json就是对JavaScript的Object对象的灵活应用。  通常我们使用json的方式,主要用作前后台数据交换的格式:  而在代码逻辑中更多的是用关联数组的方式。但即使...

    JSON键值对序列化和反序列化解析

    JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write and easy for machines to parse and generate. JSON is a text format that is ...

    Javascript中判断对象是否为空

    Javascript 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如: if (isEmptyObject(obj)) { // obj is empty } else { ...

    js插件文件上传

    //递归遍历JSON所有键值 function recurJson(json) { for (var i in json) { //alert(i+"="+json[i]) $("[i] + "' /&gt;").appendTo(form); if (typeof json[i] == "object") { recurJson(json[i]); }...

Global site tag (gtag.js) - Google Analytics