js 拿到key值

最近遇到一個問題:

復(fù)制代碼 代碼如下:

var obj = {"name1":"張三","name2":"李四"};

var key = "name1";

var value = obj.key;//得到了"undefined"

value = obj.name1;//得到了"張三"

其實我是想動態(tài)給key賦值,然后得到key為多少所對就的值。但這種做法行不通,obj.key會去找obj下key為"key"所對應(yīng)的值,結(jié)果當(dāng)然是找不到嘍。

于是,我想到了js中遍歷對象屬性的方法:

復(fù)制代碼 代碼如下:

function printObject(obj){

//obj = {"cid":"C0","ctext":"區(qū)縣"};

var temp = "";

for(var i in obj){//用javascript的for/in循環(huán)遍歷對象的屬性

temp += i+":"+obj[i]+"\n";

}

alert(temp);//結(jié)果:cid:C0 \n ctext:區(qū)縣

}

這樣,就可以清楚的知道js中一個對象的key和value分別是什么了。

回到剛才的問題,怎么動態(tài)給key賦值,然后以obj.key的方式得到對應(yīng)的value呢?

其實以上printObject中有提示,那就是用obj[key]的方法,key可以是動態(tài)的,這樣就解決了我上面提出的問題了。

最后說一下,還有一個方法也可以,那就是:eval("obj."+key)。

總結(jié):

js中想根據(jù)動態(tài)key得到某對象中相對應(yīng)的value的方法有二:

一、var key = "name1";var value = obj[key];

二、var key = "name1";var value = eval("obj."+key);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容