ES6--對象常用的方法


看了ES6的官方文檔,把常用到的一些對象的方法記錄一下,以便增加印象。

(1)for...in

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

let obj = {
    'code': 123,
    'name': 'take',
    'ccc': function(){}
}
for(let key in obj){
    console.log(key + '--' + obj[key])
}

輸出結果:

 

(2)Object.keys(obj)

Object.keys返回一個數組,包括對象自身的(不含繼承的)所有可枚舉屬性(不含 Symbol 屬性)的鍵名。

let obj = {
    'code': 123,
    'name': 'take',
    'ccc': function(){}
}
console.log(Object.keys(obj))

輸出結果:

 

 

 

可對屬性值進行處理:

let obj = {
    'code': 123,
    'name': 'take',
    'ccc': function(){}
}
Object.getOwnPropertyNames(obj).map(item => {
    console.log(obj[item])
})

輸出結果:

 

 

 

(3)Object.getOwnPropertyNames(obj)

Object.getOwnPropertyNames返回一個數組,包含對象自身的所有屬性(不含 Symbol 屬性,但是包括不可枚舉屬性)的鍵名。

(4)Object.getOwnPropertySymbols(obj)

Object.getOwnPropertySymbols返回一個數組,包含對象自身的所有 Symbol 屬性的鍵名。

(5)Reflect.ownKeys(obj)

Reflect.ownKeys返回一個數組,包含對象自身的(不含繼承的)所有鍵名,不管鍵名是 Symbol 或字符串,也不管是否可枚舉。

 

以上的 5 種方法遍歷對象的鍵名,都遵守同樣的屬性遍歷的次序規則。

  • 首先遍歷所有數值鍵,按照數值升序排列。
  • 其次遍歷所有字符串鍵,按照加入時間升序排列。
  • 最后遍歷所有 Symbol 鍵,按照加入時間升序排列。

(6)Object.values()

Object.values方法返回一個數組,成員是參數對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值。

let obj = {
    'code': 123,
    'name': 'take',
    'ccc': function(){}
}
console.log(Object.values(obj))

輸出結果:

 

 

 

(7)Object.entries()

Object.entries()方法返回一個數組,成員是參數對象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值對數組。

let obj = {
    'code': 123,
    'name': 'take',
    'ccc': function(){}
}
console.log(Object.entries(obj))

輸出結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM