1. 程式人生 > 其它 >for/in 迴圈遍歷物件的屬性

for/in 迴圈遍歷物件的屬性

for in迴圈遍歷物件的屬性與值

for/in 語句迴圈遍歷物件的屬性。

js中獲取key得到某物件中相對應的value的方法:obj.key

使用 for in 迴圈遍歷物件的屬性時,原型鏈上的所有屬性都將被訪問:

Object.prototype.bar = 10;// 修改Object.prototype  
var obj={"name":"wjy","age":26,"sex":"female"};//定義一個object物件    
var keys=[];//定義一個數組用來接受key    
var values=[];//定義一個數組用來接受value    
  for(var key in obj){    
    keys.push(key);    
    values.push(obj[key]);//取得value      
    }    
alert("keys is :"+keys+" and values is :"+values);   
//keys is : name,age,sex,bar and values is : wjy,26,female,10   

推薦總是使用 hasOwnProperty 方法, 這將會避免原型物件擴充套件帶來的干擾:

function allpro(obj){  
    var keys=[];   
    var values=[];    
    for(var key in obj){   
        //只遍歷物件自身的屬性,而不包含繼承於原型鏈上的屬性。  
        if (obj.hasOwnProperty(key) === true){  
            keys.push(key);    
            values.push(obj[key]);   
            }                 
        }  
    alert("keys is :"+keys+" and values is :"+values);    
}  
Object.prototype.bar = 1;// 修改Object.prototype  
var o={"name":"wjy","age":26,"sex":"female"};//定義一個object物件   
allpro(o);  
//keys is : name,age,sex and values is: wjy,26,female  

object物件沒有length屬性,那麼獲取object物件的length就可以通過遍歷得到key值的陣列的長度

keys.length;//"3"