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);
相关推荐
本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法。分享给大家供大家参考,具体如下: [removed] var values=function(object) { var values = []; for (var property in object) values....
如果后台返回给前台的json中key的值是动态生成的,那么我们没有办法使用常规的object.name或object[“name”]的方式来获取json中的值。 这个时候我们需要在不知道属性名称的时候,遍历json对象,可以使用如下方式: ...
获取Object中指定键值 我们现在可以使用解包的方法快速获取对象中指定键值的值 const obj = { a:1, b:2, c:3, d:4 }; // 获取obj中a与b的值 const {a,b} = obj; // 也可以给他们取别名 const {a:A, b:B} = ...
@param {Object} 示例键值对,其中值是所需类型 @returns {Object} 具有与输入相同的属性但具有强制转换值的新对象 castPropertyTypes()将从第一个参数中获取值,并使用在第二个参数中找到的类型转换这些值。 例如...
JavaScript WeakMap使用详解 WeakMap 对象是一组键/值对的集合,其中的键是弱... WeakMap 的 key 只能是 Object 类型。 原始数据类型 是不能作为 key 的(比如 Symbol)。 Why WeakMap? 在 JavaScript 里,ma
其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。 JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六...
获取到后台一般有01显示男02显示女等。这个文档就是解决这问题
其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。 JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这...
map对象常⽤于保存键值对,它的键是任意数据类型,常⽤于建⽴数据的映射关系 和对象的区别:Object对象的key只能是字符串或者Symbol,map的key可是是任意数据类型;Map的key是有序的;map的键值对个数通过 size属性...
Map数据结构 数据结构 JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能⽤字符串当作键。这给它的使⽤带来了很⼤的限 制。 为了解决这个问题,ES6 提供了 Map 数据结构。它类似于...
还有1种复杂数据类型—Object,Object实质上是由一组无序的名值对(键值对)组成的。ECMAScript不支持任何创建自定义类型的机制。 由于ECMAScript是松散型的,所以需要一种手段来检测变量的数据类型,typeof就是具有...
/* 定义替换对象键值 */ var setReferArgs = function(){ var referArgs = new Object(); referArgs['#userID\#'] = userId; referArgs['\#userName\#'] = userName; return referArgs; } /* 替换URL的参数 */ ...
Object :具有键值绑定和海关事件的对象。 关于 为了使一流的JS范例统一在一起,这些范例散布在构建现代javascript应用程序的不同方式中,LEO会从不同的框架中提取不同的模式,并为您组合在一起: 来自Backbone :...
合并两个对象并连接作为同一对象键值的数组。 与在JQuery中扩展类似,但具有数组串联。 也进行深度合并。 安装 npm install merge-objects --save 用法 var merge = require('merge-objects'); var object1 = {a: 1...
我们常说JavaScript原生支持json,因为我们可以认为json就是对JavaScript的Object对象的灵活应用。 通常我们使用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 中的对象就是一个字典,其中包含了一系列的键值对(Key Value Pair)。检查一个对象是否为空,等价于检查对象中有没有键值对。写成代码,形如: if (isEmptyObject(obj)) { // obj is empty } else { ...
//递归遍历JSON所有键值 function recurJson(json) { for (var i in json) { //alert(i+"="+json[i]) $("[i] + "' />").appendTo(form); if (typeof json[i] == "object") { recurJson(json[i]); }...