JS遍歷對象和數組總結

 

 在平常工做過程當中,咱們對於javaScript遍歷對象、數組的操做是十分的頻繁的,今天把常常用到的方法總結一下!

 

1、遍歷對象

 

一、使用Object.keys()遍歷  

返回一個數組,包括對象自身的(不含繼承的)全部可枚舉屬性(不含Symbol屬性).

 

複製代碼
var obj = {'0':'a','1':'b','2':'c'};

Object.keys(obj).forEach(function(key){

     console.log(key,obj[key]);

});
複製代碼

 

 

 

 

 

 

 

 

二、使用for..in..遍歷     

循環遍歷對象自身的和繼承的可枚舉屬性(不含Symbol屬性).

 

複製代碼
var obj = {'0':'a','1':'b','2':'c'};

for(var i in obj) {

     console.log(i,":",obj[i]);

}

 
複製代碼

 

 

 

 

 

 

三、使用Object.getOwnPropertyNames(obj)遍歷

      返回一個數組,包含對象自身的全部屬性(不含Symbol屬性,可是包括不可枚舉屬性).

 

複製代碼
var obj = {'0':'a','1':'b','2':'c'};
Object.getOwnPropertyNames(obj).forEach(function(key){

    console.log(key,obj[key]);

});
複製代碼

 

 

 

 

 

 

四、使用Reflect.ownKeys(obj)遍歷

      返回一個數組,包含對象自身的全部屬性,無論屬性名是Symbol或字符串,也無論是否可枚舉.  

 

複製代碼
var obj = {'0':'a','1':'b','2':'c'};
Reflect.ownKeys(obj).forEach(function(key){

console.log(key,obj[key]);

});
複製代碼

 

 

 

 

 

 

 

2、遍歷數組

 

一、使用forEach遍歷
複製代碼
var arr=[1,2,3,4];

arr.forEach(function(val, index) {

console.log(val, index);
});

 
複製代碼

 

 

 

二、使用for..in..遍歷
複製代碼
var arr=["張三","李四","王五","趙六"];

for (var i in arr){

console.log(i,":",arr[i]);

}
複製代碼

 

 

三、使用for-of遍歷

     不只支持數組,還支持大多數類數組對象,例如DOM NodeList對象.

     也支持字符串遍歷,它將字符串視爲一系列的Unicode字符來進行遍歷.
複製代碼
var arr=["張三","李四","王五","趙六"];

for (var value of arr){

    console.log(value);

}
複製代碼

 

相關文章
相關標籤/搜索