• 对象属性键值[key]属性问题


    1,obj[key]此时key代表是循环中的一个变量。

      

    var obj = {key:3,key1:1,key2:2,key3:3,toSting:4};
    
        for (key in obj) {
    
            console.log(obj[key])//循环出3,1,2,3,4
    
        }
    2,obj['key']此时key代表的是obj的一个属性名,需要加上''使用,obj['key']———取obj的key属性的值

       

     var obj = {key:0,key1:1,key2:2,key3:3};
    
        console.log(obj['key'])//0

    3,obj.key此时相当于obj['key'];key是obj的一个属性名,取obj的key属性的值
        var obj = {key:0,key1:1,key2:2,key3:3};
    
        console.log(obj.key)//0
    
    
    使用object.hasOwnProperty(proName)方法确定object对象是否具有带指定名称的属性。
    var s = new String("Sample");
    console.log(s.hasOwnProperty("split"));  //false
    console.log(obj.hasOwnProperty('key')) //true
    console.log(obj.hasOwnProperty('toString')) //false
    console.log(String.prototype.hasOwnProperty("split"));//true
     

    如何获取object类型里的键值

     
    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]+"
    "; 
    } 
    alert(temp);//结果:cid:C0 
     ctext:区县 
    } 

    这样,就可以清楚的知道js中一个对象的key和value分别是什么了。 
    回到刚才的问题,怎么动态给key赋值,然后以obj.key的方式得到对应的value呢? 
    其实以上printObject中有提示,那就是用obj[key]的方法,key可以是动态的,这样就解决了我上面提出的问题了。 
    最后说一下,还有一个方法也可以,那就是:eval("obj."+key)。

    总结: 
    js中想根据动态key得到某对象中相对应的value的方法有两个(⊙o⊙)哦: 
    一、var key = "name1";var value = obj[key]; 
    二、var key = "name1";var value = eval("obj."+key);

    栗子:

    var obj={"name":"tom","age":22,"job":"it"};
    var keys="name";
    console.log(obj[keys]);   //tom 
    console.log(eval("obj."+keys));   //tom

    JS获取JSON对象中的KEY和VALUE
    var json= { "Type": "Coding", "Height":100 };
    
        for (var key in json)
        {
            alert(key);     //Type, Height
        alert(json[key]);    //Coding, 100
        }
    
    $.each(json, function(i) {
        alert(json[i]);    //Coding, 100
        alert(i);       //Type, Height
    });
  • 相关阅读:
    java操作生成jar包 和写入jar包
    jboss配置jndi连接池
    windows 域的LDAP查询相关举例
    LDAP error Code 及解决方法
    HDU 6417
    CF1299D Around the World
    codechef Chef and The Colored Grid
    Educational Codeforces Round 82 (Rated for Div. 2)
    CF1237F Balanced Domino Placements
    CF1254E Send Tree to Charlie
  • 原文地址:https://www.cnblogs.com/Jade-Liu18831/p/9620271.html
Copyright © 2020-2023  润新知